Page MenuHomePhabricator

ashi1 (Aaron Enye Shi)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 24 2016, 11:36 AM (248 w, 6 d)

Recent Activity

Yesterday

ashi1 added a comment to D92418: [hip] Fix host object creation from fatbin.

Looks good to me, were you able to run staging on this patch?

Tue, Dec 1, 12:33 PM · Restricted Project
ashi1 committed rGcd5897d55908: [HIP] Fix static-lib test CHECK bug (authored by ashi1).
[HIP] Fix static-lib test CHECK bug
Tue, Dec 1, 7:50 AM
ashi1 added a comment to D92342: [HIP] Fix HIP test on windows due to lld suffix.

@ashi1 This is causing build failures - please can you take a look ? http://lab.llvm.org:8011/#/builders/14/builds/2514

<stdin>:17:66: note: possible intended match here
 "/b/1/clang-x86_64-debian-new-pass-manager-fast/llvm.obj/bin/llvm-ar" "rcsD" "a.out" "/tmp/a-88f827.o" "/tmp/b-11b5fe.o" "/tmp/a-72b91c.o"
Tue, Dec 1, 7:36 AM · Restricted Project

Mon, Nov 30

ashi1 committed rGf89e9c8201ea: [HIP] Fix HIP test on windows due to lld suffix (authored by ashi1).
[HIP] Fix HIP test on windows due to lld suffix
Mon, Nov 30, 1:06 PM
ashi1 closed D92342: [HIP] Fix HIP test on windows due to lld suffix.
Mon, Nov 30, 1:06 PM · Restricted Project
ashi1 added a comment to D92342: [HIP] Fix HIP test on windows due to lld suffix.

Aaron, Could you please update the bugzilla after the fix is landed? Thanks.

Mon, Nov 30, 1:05 PM · Restricted Project
ashi1 added a comment to D92342: [HIP] Fix HIP test on windows due to lld suffix.

Although there were no issues with .*llvm-mc, as a precaution, I changed it to .*llvm-mc.* too. In case any systems use llvm-mc.exe instead.

Mon, Nov 30, 12:51 PM · Restricted Project
ashi1 requested review of D92342: [HIP] Fix HIP test on windows due to lld suffix.
Mon, Nov 30, 12:49 PM · Restricted Project

Wed, Nov 25

ashi1 added a comment to D92130: [HIP] cmath promote long double args to double.

There are applications calling functions such as fmod(long double x, long double y), but this produces a "call is ambiguous" error.

Wed, Nov 25, 1:14 PM
ashi1 requested review of D92130: [HIP] cmath promote long double args to double.
Wed, Nov 25, 1:12 PM

Tue, Nov 3

ashi1 committed rGca5b31502c82: [HIP] Math Headers to use type promotion (authored by ashi1).
[HIP] Math Headers to use type promotion
Tue, Nov 3, 10:41 AM
ashi1 closed D90409: [HIP] Math Headers to use type promotion.
Tue, Nov 3, 10:41 AM · Restricted Project, Restricted Project
ashi1 updated the diff for D90409: [HIP] Math Headers to use type promotion.

Revised the patch to match libcxx, fixed a bug in return type resolution, and ran clang-format on this patch.

Tue, Nov 3, 8:55 AM · Restricted Project, Restricted Project
ashi1 added a comment to D90409: [HIP] Math Headers to use type promotion.

I tried the previous HIP FMA test, and it looks like libcxx's cmath is expecting fma(float, float, char) to be promoted to (double, double, double) and return type double:
https://cppinsights.io/s/ee45a5ca

Tue, Nov 3, 8:47 AM · Restricted Project, Restricted Project
ashi1 added a comment to D90409: [HIP] Math Headers to use type promotion.
In D90409#2363044, @tra wrote:
In D90409#2362554, @tra wrote:

I'm not quite sure what is the problem this patch is intended to solve. Could you give me more details?

@tra, a problem arose with the fma function. When given fma(float, float, char), it was returning a double type. Instead, we want to be more similar to C++ and return the promoted type which is float in this case.
This patch tries to fix a few failures I introduced with my recent HIP header refactoring patch.

That is odd. char should've been promoted to float and fma(flot, float, float) should've been called and this patch should not have been necessary. https://cppinsights.io/s/7cdd71b7
If that's the case, then this patch may not do the right thing either -- it would force the arguments to the derived result type, but if fma(double) is the only choice, the arguments will be implicitly converted to double and back which is probably not what you want.

Perhaps the problem is that fma(flot, float, float) is not visible at the point where the overload resolution happens.

Tue, Nov 3, 8:39 AM · Restricted Project, Restricted Project

Oct 29 2020

ashi1 added a comment to D90409: [HIP] Math Headers to use type promotion.
In D90409#2362554, @tra wrote:

I'm not quite sure what is the problem this patch is intended to solve. Could you give me more details?

Oct 29 2020, 1:15 PM · Restricted Project, Restricted Project
ashi1 requested review of D90409: [HIP] Math Headers to use type promotion.
Oct 29 2020, 10:23 AM · Restricted Project, Restricted Project

Oct 27 2020

ashi1 committed rG3700556ecb06: [HIP][NFC] Use correct max in cuda_complex_builtins (authored by ashi1).
[HIP][NFC] Use correct max in cuda_complex_builtins
Oct 27 2020, 12:36 PM

Oct 26 2020

ashi1 abandoned D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.

Dropping this patch in favour of smaller patches.

Oct 26 2020, 1:23 PM
ashi1 added a comment to D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.

First off, this is the right direction, thanks for working on this!

Then, we need to split this. There are various things happening here and we can easily do them one by one.
Please reach out if you don't know where to split but basically try to make the patches "as small as possible" such that you write a test against them.
So for example, math and complex stuff are separate. New functions are separate, changing the attributes is separate, ...

I added a bunch of comments and tried to be exhaustive, though once we split it in the separate components I will do another review.

Finally, where are the tests? You only added the test/Inputs stuff.

Oct 26 2020, 1:15 PM

Oct 22 2020

ashi1 closed D89966: [HIP] Fix HIP rounding math intrinsics.

Committed: b2524eb9445a4487115c8f94fd946d2c4c95f652

Oct 22 2020, 2:37 PM
ashi1 updated the diff for D89966: [HIP] Fix HIP rounding math intrinsics.
Oct 22 2020, 8:42 AM
ashi1 updated the diff for D89966: [HIP] Fix HIP rounding math intrinsics.

Updated the rcp rounded functions to use div and default to use 1.0 / __x.

Oct 22 2020, 8:38 AM
ashi1 requested review of D89966: [HIP] Fix HIP rounding math intrinsics.
Oct 22 2020, 8:11 AM

Oct 21 2020

ashi1 updated the diff for D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.

Added back the #ifdef for few functions that need static with private for OpenMP.

Oct 21 2020, 7:44 AM

Oct 20 2020

ashi1 added inline comments to D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.
Oct 20 2020, 2:04 PM

Oct 19 2020

ashi1 added inline comments to D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.
Oct 19 2020, 3:17 PM
ashi1 updated the diff for D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.

Updated based on review comments.

Oct 19 2020, 3:17 PM

Oct 16 2020

ashi1 requested review of D89584: [AMDGPU][OPENMP] OpenMP AMDGCN Header Support.
Oct 16 2020, 12:16 PM

Oct 15 2020

ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.

ping @rsmith

Oct 15 2020, 8:00 AM

Oct 6 2020

ashi1 committed rG8d2a0c115e24: [HIP] NFC Add comments to cmath functions (authored by ashi1).
[HIP] NFC Add comments to cmath functions
Oct 6 2020, 8:28 AM
ashi1 committed rG42093562a711: [HIP] NFC properly reference Differential Revision (authored by ashi1).
[HIP] NFC properly reference Differential Revision
Oct 6 2020, 8:21 AM
ashi1 closed D88837: [HIP] Restructure hip headers to add cmath.
Oct 6 2020, 8:21 AM · Restricted Project
ashi1 committed rGaa2b593f1495: [HIP] Restructure hip headers to add cmath (authored by ashi1).
[HIP] Restructure hip headers to add cmath
Oct 6 2020, 7:49 AM

Oct 5 2020

ashi1 updated the diff for D88837: [HIP] Restructure hip headers to add cmath.

Missed one __r for normf.

Oct 5 2020, 1:54 PM · Restricted Project
ashi1 updated the diff for D88837: [HIP] Restructure hip headers to add cmath.

Add missing __ prefix inside of function variables. Fix C++ and C-only macros, so that we don't use bool or the same function names in C-only. Also, use macros to define isfinite, isinf, isnan, and signbit to align with cmath !__cplusplus.

Oct 5 2020, 1:37 PM · Restricted Project
ashi1 added a reviewer for D88837: [HIP] Restructure hip headers to add cmath: b-sumner.

This is a pre-requisite for the next patch to add OpenMP w/ AMDGCN support.

Oct 5 2020, 9:33 AM · Restricted Project
ashi1 added a comment to D88837: [HIP] Restructure hip headers to add cmath.

Ran clang-format on this patch, and also verified on full stack (ROCm, Libraries).

Oct 5 2020, 9:27 AM · Restricted Project
ashi1 retitled D88837: [HIP] Restructure hip headers to add cmath from Update hip headers to add cmath to [HIP] Restructure hip headers to add cmath.
Oct 5 2020, 9:26 AM · Restricted Project
ashi1 requested review of D88837: [HIP] Restructure hip headers to add cmath.
Oct 5 2020, 9:24 AM · Restricted Project

Oct 2 2020

ashi1 accepted D88377: Diagnose invalid target ID for AMDGPU toolchain for assembler.

LGTM

Oct 2 2020, 9:20 AM · Restricted Project

Sep 28 2020

ashi1 added a comment to D88377: Diagnose invalid target ID for AMDGPU toolchain for assembler.

Could you please add full context? Mostly looks good to me.

Sep 28 2020, 8:34 AM · Restricted Project

Sep 22 2020

ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.
In D87325#2280370, @tra wrote:

If you dd -S and remove -ccc-print-bindingsthis command does produce a PCH.

-Xclang -emit-pch does not change what the top-level driver does. You do need to tell it not to do too much. -S prevents additional bundling/linking steps. For regular C++ compilation -c would work, too.

Caveat -- while the command does produce the PCH, I have no idea whether that's the correct way to do it.

Sep 22 2020, 10:48 AM

Sep 17 2020

ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.
In D87325#2277854, @tra wrote:

Having -emit-pch in the clang driver is useful because it doesn't require users to specify standard C++ include paths, clang include paths, and CUDA/HIP wrapper headers needed by CC1. That is error prone for the user.

I didn't meant o invoke -cc1 directly, but rather to pass -emit-pch via -Xclang -emit-pch. No need to provide *all* CC1 options manually.

Sep 17 2020, 2:13 PM
ashi1 updated the diff for D87325: [HIP] Add -emit-pch option to clang driver.

Adding Diag when mixing device and host paths with -emit-pch. Currently, we don't support this path, since the generated pch will be a clang_offload_bundle (supporting that will require that the ASTReader understand clang offload bundles and that is outside the scope of this patch). Added tests to check error Diag is reported when running both paths with -emit-pch.

Sep 17 2020, 11:43 AM
ashi1 updated the diff for D87325: [HIP] Add -emit-pch option to clang driver.

Added a C++ header to .pch file test.

Sep 17 2020, 11:21 AM

Sep 16 2020

ashi1 updated the diff for D87325: [HIP] Add -emit-pch option to clang driver.

Added a test checking for error when -o option is used for multi-device -emit-pch run.

Sep 16 2020, 2:24 PM
ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.
In D87325#2277467, @tra wrote:
In D87325#2271676, @tra wrote:

Can you elaborate on the use case of PCH files for CUDA/HIP?

I believe one use-case for PCH is for common include headers such as hip_runtime.h which is being re-used in many application source files. To improve the performance, we can pre-compile the header and re-use it during online compilation.

That would be potentially useful if it could be used from a normal compilation, but it's not. Single-sub-compilarion is a very very small niche.

I'm OK with making -emit-pch work for GPUs, but considering very limited use case and the fact that the generated PCH will be wrong more often than not (I.e. it will be usable for only 1 out of N subcompilations for particular TU), I would rather keep the -emit-pch a CC1 only option. Those who need it should be able to use it via -Xclang -emit-pch and for most of the regular users it does not matter.

Having -emit-pch in the clang driver is useful because it doesn't require users to specify standard C++ include paths, clang include paths, and CUDA/HIP wrapper headers needed by CC1. That is error prone for the user.
Also, this device compilation is not niche, it is needed for nvrtc/hiprtc and hip applications can perform device-only compilations at either compile-time or run-time.

Sep 16 2020, 1:45 PM
ashi1 updated the diff for D87325: [HIP] Add -emit-pch option to clang driver.

Updated the tests to use --cuda-host-only or --cuda-device-only options when using -emit-pch. Added more tests for compilation when using -include-pch. Also, added a negative test when using different GPU variant PCH during compilation.

Sep 16 2020, 12:48 PM
ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.
In D87325#2271676, @tra wrote:

Can you elaborate on the use case of PCH files for CUDA/HIP?

I believe one use-case for PCH is for common include headers such as hip_runtime.h which is being re-used in many application source files. To improve the performance, we can pre-compile the header and re-use it during online compilation.

Sep 16 2020, 11:09 AM

Sep 10 2020

ashi1 updated the diff for D87325: [HIP] Add -emit-pch option to clang driver.

Fixed to use TY_HIPHeader instead of changing the phases in TY_HIP.

Sep 10 2020, 2:23 PM
ashi1 added a comment to D87325: [HIP] Add -emit-pch option to clang driver.

Looking into the C/C++ tests.

Sep 10 2020, 2:20 PM
ashi1 accepted D87461: Disable sanitizer options for AMDGPU.

LGTM

Sep 10 2020, 9:44 AM · Restricted Project

Sep 8 2020

ashi1 accepted D87324: [HIP] Add gfx1030 and gfx1031.

LGTM, looks like its already in clang/include/clang/Basic/Cuda.h and clang/lib/Basic/Targets/AMDGPU.cpp.

Sep 8 2020, 1:16 PM · Restricted Project
ashi1 requested review of D87325: [HIP] Add -emit-pch option to clang driver.
Sep 8 2020, 1:12 PM

Aug 24 2020

ashi1 abandoned D23086: [OpenCL] Generate concrete struct type for ndrange_t.
Aug 24 2020, 12:34 PM

Aug 6 2020

ashi1 committed rG96c2d5e99e32: [HIP] Ignore invalid ar linker options (authored by ashi1).
[HIP] Ignore invalid ar linker options
Aug 6 2020, 10:40 AM
ashi1 closed D85442: [HIP] Ignore invalid ar linker options.
Aug 6 2020, 10:40 AM · Restricted Project
ashi1 updated the diff for D85442: [HIP] Ignore invalid ar linker options.

Updated the NOFLAG_NOT to accept any prefix.

Aug 6 2020, 10:35 AM · Restricted Project
ashi1 requested review of D85442: [HIP] Ignore invalid ar linker options.
Aug 6 2020, 9:12 AM · Restricted Project

Jul 7 2020

ashi1 committed rGc64bb3f7367a: [HIP] Use default triple in llvm-mc for system ld (authored by ashi1).
[HIP] Use default triple in llvm-mc for system ld
Jul 7 2020, 9:45 AM
ashi1 closed D83145: [HIP] Use default triple in llvm-mc for system ld.
Jul 7 2020, 9:45 AM · Restricted Project

Jul 6 2020

ashi1 added a reviewer for D83145: [HIP] Use default triple in llvm-mc for system ld: msearles.
Jul 6 2020, 12:58 PM · Restricted Project

Jul 3 2020

ashi1 created D83145: [HIP] Use default triple in llvm-mc for system ld.
Jul 3 2020, 1:04 PM · Restricted Project

Jun 29 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

Hi Jon, I may have committed this in combination with D81963 as the parent commit. It should have waited for a LGTM from someone outside our org.

Jun 29 2020, 8:03 AM · Restricted Project, Restricted Project

Jun 25 2020

ashi1 added inline comments to D78655: [CUDA][HIP] Let lambda be host device by default.
Jun 25 2020, 3:18 PM · Restricted Project

Jun 22 2020

ashi1 committed rG4bafb0adcf38: Add Statically Linked Libraries (authored by ashi1).
Add Statically Linked Libraries
Jun 22 2020, 12:56 PM
ashi1 committed rG77df5a8283ed: [HIP] Move HIP Linking Logic into HIP ToolChain (authored by ashi1).
[HIP] Move HIP Linking Logic into HIP ToolChain
Jun 22 2020, 12:56 PM
ashi1 closed D78759: Add Statically Linked Libraries.
Jun 22 2020, 12:56 PM · Restricted Project, Restricted Project
ashi1 closed D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.
Jun 22 2020, 12:56 PM · Restricted Project, Restricted Project
ashi1 updated subscribers of D79830: Add support of __builtin_expect_with_probability.

Hi, I am getting a compiler error due to this patch. I am using cmake command: cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;lld;clang-tools-extra" -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" -DLLVM_ENABLE_ASSERTIONS=1 . Could you please take a look?

Jun 22 2020, 12:23 PM · Restricted Project, Restricted Project
ashi1 added a comment to D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.

@yaxunl - I am looking into the bundler issue. Is it okay to commit these current patches first, while we look into that bug? This patch should only affect HIP.

Jun 22 2020, 11:17 AM · Restricted Project, Restricted Project

Jun 17 2020

ashi1 added a comment to D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.

The only thing that concerns me is that you called clang-offload-unbundler twice to unbundle a fat binary, one for host, one for device. One call of clang-offload-unbundler is supposed to unbundle everything.

Jun 17 2020, 8:36 AM · Restricted Project, Restricted Project

Jun 16 2020

ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Removed the HIP Linker changes, that will come in a different patch. Keeping this change more general.

Jun 16 2020, 3:23 PM · Restricted Project, Restricted Project
ashi1 updated the diff for D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.

I've updated this patch so it doesn't have dependence on the static-lib patch.

Jun 16 2020, 2:50 PM · Restricted Project, Restricted Project
ashi1 added a comment to D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.

This looks great to me. A bunch of HIP specific code moving out of generic code and into HIP specific files. The host / device split in the driver looks reasonable and similar to existing code. I especially like that all the changes to tests are under HIP.

One request - I'd like this to land before D78759 instead of after. Cleanup then extend as opposed to extend then cleanup. Primarily so that this patch doesn't get lost if D78759 stalls further or ends up getting reverted.

Thanks!

Jun 16 2020, 2:19 PM · Restricted Project, Restricted Project
ashi1 created D81963: [HIP] Move HIP Linking Logic into HIP ToolChain.
Jun 16 2020, 1:12 PM · Restricted Project, Restricted Project
ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Rebased on master, and added --emit-static-lib to hip-link-save-temps.hip testcase.

Jun 16 2020, 1:12 PM · Restricted Project, Restricted Project
ashi1 added a comment to D78759: Add Statically Linked Libraries.

The use case of this patch is that the library only needs to provide host APIs which can be called by C++ programs but do not need to expose device code to the users. Therefore the device code in the library are linked, finalized, and embedded as ISA in host objects and not exposed to library users. We have user requests to support such use case.

There may be use cases that users want to store both host codes and device codes in a static library and expose both to users, however that is out of scope of this patch.

Ah, OK. So it's HIP specific, and not a general purpose static archive. In that case, the many functions with names based on StaticLib should probably all be renamed HIPStaticLib or similar to indicate that it doesn't work for other toolchains. Can any of this code be moved into the HIP.cpp toolchain file?

Jun 16 2020, 12:39 PM · Restricted Project, Restricted Project

Jun 15 2020

ashi1 accepted D81861: [HIP] Do not use llvm-link/opt/llc for -fgpu-rdc .

LGTM, ready to submit if @tra and @arsenm are okay with this patch.

Jun 15 2020, 2:54 PM · Restricted Project
ashi1 added a comment to D81861: [HIP] Do not use llvm-link/opt/llc for -fgpu-rdc .

Thank you for this patch, it looks good, and I have a few minor questions/comments.

Jun 15 2020, 12:36 PM · Restricted Project
ashi1 accepted D81627: [HIP] Do not call opt/llc for -fno-gpu-rdc.

LGTM, thank you for splitting the cuda-phases from hip-phases, and opening up a follow-up patch for RDC case.

Jun 15 2020, 12:04 PM · Restricted Project

Jun 3 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

ping @echristo

Jun 3 2020, 2:56 PM · Restricted Project, Restricted Project

Jun 2 2020

ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Thank you for the tips, I've updated the code with Driver::ShouldEmitStaticLibrary function, and renamed to flag to a more general name, --emit-static-lib.

Jun 2 2020, 10:25 AM · Restricted Project, Restricted Project

Jun 1 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

ping - is this refactored version ready for submission? Thanks.

Jun 1 2020, 12:27 PM · Restricted Project, Restricted Project

May 28 2020

ashi1 updated the summary of D78759: Add Statically Linked Libraries.
May 28 2020, 10:56 AM · Restricted Project, Restricted Project
ashi1 added a reviewer for D78759: Add Statically Linked Libraries: echristo.
May 28 2020, 10:56 AM · Restricted Project, Restricted Project
ashi1 updated the diff for D78759: Add Statically Linked Libraries.

I've refactored the code, and removed the AddHIPLinkerScript function, which can be replaced by these MC directives approach.

May 28 2020, 10:56 AM · Restricted Project, Restricted Project

May 27 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

I think I've got a lot of the same concerns that Jon had. In addition I'd like to see some reasoning and abstraction if we're going to use this for creating archives in general. No need to make windows work, but instead could just return a "we can't do that yet" error instead?

May 27 2020, 11:23 AM · Restricted Project, Restricted Project

May 26 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.
In D78759#2049973, @tra wrote:

The control flow in tools::gnutools::StaticLibTool::ConstructJob doesn't seem good though. It's a generic function that unconditionally calls a hip specific function which happens to return immediately in non-hip cases. That really should be a hip specific function calling the generic one, then doing more hip specific things afterwards.

+1. Indeed it would be great to reuse existing tool either by making it more flexible, or via extracting common things into a helper.

May 26 2020, 1:05 PM · Restricted Project, Restricted Project
ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Thank you for your reviews, I've cleaned up the patch, and reduced the size of the StaticLib::ConstructJob.

May 26 2020, 1:05 PM · Restricted Project, Restricted Project

May 21 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

ping

May 21 2020, 8:36 AM · Restricted Project, Restricted Project

May 13 2020

ashi1 updated the diff for D78759: Add Statically Linked Libraries.
May 13 2020, 10:17 AM · Restricted Project, Restricted Project

May 12 2020

ashi1 added a comment to D78759: Add Statically Linked Libraries.

Maybe Aaron can add a lit test for using this option for C language.

May 12 2020, 1:59 PM · Restricted Project, Restricted Project
ashi1 added a comment to D78759: Add Statically Linked Libraries.
In D78759#2014185, @tra wrote:

The purpose of this patch is to generate a static library that can be used as an "ordinary" static library, i.e., can be linked by a system linker, given a bunch of HIP programs that need -fgpu-rdc to compile.

This is a common use case for a library written with HIP. That is, the library provides a bunch of host APIs so that other C++ programs can use it. The library does not provide device code that need to be linked with the user's device code. The users want to use it as an ordinary host library.

Is the intention that all GPU-side code inside this library is linked together, even though individual sources are compiled to object files?

Is there a way to compile .hip ->.o with GPU-side object and then
link together GPU objects from multiple such .o files into a single .o with partially linked host object and fully linked GPU code?

May 12 2020, 8:01 AM · Restricted Project, Restricted Project

Apr 24 2020

ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Changed to use llvm-ar tool.

Apr 24 2020, 12:59 PM · Restricted Project, Restricted Project
ashi1 added inline comments to D78759: Add Statically Linked Libraries.
Apr 24 2020, 12:26 PM · Restricted Project, Restricted Project

Apr 23 2020

ashi1 updated the diff for D78759: Add Statically Linked Libraries.

Adding a new diff with full context.

Apr 23 2020, 2:40 PM · Restricted Project, Restricted Project
ashi1 created D78759: Add Statically Linked Libraries.
Apr 23 2020, 2:07 PM · Restricted Project, Restricted Project

Feb 27 2020

ashi1 committed rGa2664b920cc1: Prevent alwaysinline when FunctionCalls Enabled (authored by ashi1).
Prevent alwaysinline when FunctionCalls Enabled
Feb 27 2020, 7:58 AM