[OpenMP] Change build of OpenMP device runtime to be a separate runtime by jhuber6 · Pull Request #136729 · llvm/llvm-project (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

jhuber6

@jhuber6 jhuber6 requested review fromarsenm, carlobertolli, estewart08, jdoerfert, JonChesterfield, jplehr, mgorny, petrhosek, ronlieb, shiltian and ye-luo

April 22, 2025 17:11

jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request

Apr 22, 2025

@jhuber6

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with llvm#136729.

Meinersbur

Comment on lines +134 to +136

jhuber6 added a commit that referenced this pull request

Apr 23, 2025

@jhuber6

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with #136729.

@jhuber6

Summary: Currently we build the OpenMP device runtime as part of the offload/ project. This is problematic because it has several restrictions when compared to the normal offloading runtime. It can only be built with an up-to-date clang and we need to set the target appropriately. Currently we hack around this by creating the compiler invocation manually, but this patch moves it into a separate runtimes build.

This follows the same build we use for libc, libc++, compiler-rt, and flang-rt. This also moves it from offload/ into openmp/ because it is still the openmp/ runtime and I feel it is more appropriate. We do want a generic offload/ library at some point, but it would be trivial to then add that as a separate library now that we have the infrastructure that makes adding these new libraries trivial.

This most importantly will require that users update their build configs, mostly adding the following lines at a minimum. I was debating whether or not I should 'auto-upgrade' this, but I just went with a warning.

    -DLLVM_RUNTIME_TARGETS='default;amdgcn-amd-amdhsa;nvptx64-nvidia-cuda'     \
    -DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=openmp \
    -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=openmp \

This also changed where the .bc version of the library lives, but it's still created.

jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request

Apr 24, 2025

@jhuber6

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

sylvestre pushed a commit that referenced this pull request

Apr 25, 2025

@jhuber6

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when #136729 lands.

Fixes #136822

jyli0116 pushed a commit to jyli0116/llvm-project that referenced this pull request

Apr 28, 2025

@jhuber6 @jyli0116

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

Fixes llvm#136822

jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request

May 2, 2025

@jhuber6

Summary: Another hacky fix done until llvm#136729 lands. This time for -mcpu.

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

May 6, 2025

@jhuber6 @github-actions

…h (#136754)

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with llvm/llvm-project#136729.

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

May 6, 2025

@jhuber6 @github-actions

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

)

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with llvm#136729.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

Fixes llvm#136822

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

)

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with llvm#136729.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

Fixes llvm#136822

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

)

Summary: This was accidentally kept in the old location when we moved to the new lib/<triple>/ location for the DeviceRTL. Move this to reduce the delta with llvm#136729.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@jhuber6 @IanWood1

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

Fixes llvm#136822

jhuber6 added a commit that referenced this pull request

May 6, 2025

@jhuber6

Summary: Another hacky fix done until #136729 lands. This time for -mcpu.

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

May 7, 2025

@jhuber6 @github-actions

GeorgeARM pushed a commit to GeorgeARM/llvm-project that referenced this pull request

May 7, 2025

@jhuber6 @GeorgeARM

Summary: Another hacky fix done until llvm#136729 lands. This time for -mcpu.

Ankur-0429 pushed a commit to Ankur-0429/llvm-project that referenced this pull request

May 9, 2025

@jhuber6 @Ankur-0429

Summary: Override the default linker in case the user is passing it separately. This requires lld but it always did. This will be fixed properly when llvm#136729 lands.

Fixes llvm#136822