From e668803fdfa3bd38ea65232a1cdd07b0c5cf4a13 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 16:12:49 -0500 Subject: [PATCH 1/4] update offload build steps --- src/bootstrap/src/core/build_steps/llvm.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index d43d261ad6c3f..96e23c2563511 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -460,7 +460,13 @@ impl Step for Llvm { //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. enabled_llvm_runtimes.push("openmp"); - enabled_llvm_projects.push("compiler-rt"); + enabled_llvm_runtimes.push("compiler-rt"); + + let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; + cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + + cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); + cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } if !enabled_llvm_projects.is_empty() { From 861cb3b96a53ecdc1b6ff2dec73b0b0e585bac81 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 16:23:57 -0500 Subject: [PATCH 2/4] I surely picked the wrong runner again, right? --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index cb57478761994..ba62750643d4c 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -90,6 +90,7 @@ ENV RUST_CONFIGURE_ARGS \ --set target.x86_64-unknown-linux-gnu.ranlib=/rustroot/bin/llvm-ranlib \ --set llvm.thin-lto=true \ --set llvm.ninja=false \ + --set llvm.offload=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 2645d287cdd760f5c47dc9dcac78451dfbf69ae2 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 18:04:49 -0500 Subject: [PATCH 3/4] try fix --- src/bootstrap/src/core/build_steps/llvm.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 96e23c2563511..11798bc156f03 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -462,11 +462,15 @@ impl Step for Llvm { enabled_llvm_runtimes.push("openmp"); enabled_llvm_runtimes.push("compiler-rt"); - let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; - cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + // -DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx; + cfg.define("RUNTIMES_CMAKE_ARGS", "-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx"); + //cfg.define("LLVM_TARGETS_TO_BUILD", "host;AMDGPU;NVPTX"); - cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); - cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); + //let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; + //cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + + //cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); + //cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } if !enabled_llvm_projects.is_empty() { From 7d691c96262befc9da94d2f53c4ff80f3e486d23 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 21:53:46 -0500 Subject: [PATCH 4/4] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index ba62750643d4c..6e93d29f03605 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -91,6 +91,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.thin-lto=true \ --set llvm.ninja=false \ --set llvm.offload=true \ + --set llvm.clang=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \