aboutsummaryrefslogtreecommitdiff
path: root/offload/ci/openmp-offload-amdgpu-runtime.py
diff options
context:
space:
mode:
Diffstat (limited to 'offload/ci/openmp-offload-amdgpu-runtime.py')
-rwxr-xr-xoffload/ci/openmp-offload-amdgpu-runtime.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/offload/ci/openmp-offload-amdgpu-runtime.py b/offload/ci/openmp-offload-amdgpu-runtime.py
new file mode 100755
index 0000000..e93f54f
--- /dev/null
+++ b/offload/ci/openmp-offload-amdgpu-runtime.py
@@ -0,0 +1,60 @@
+#! /usr/bin/env python3
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+import os
+import sys
+
+# Adapt to location in source tree
+llvmsrcroot = os.path.normpath(f"{__file__}/../../..")
+
+sys.path.insert(0, os.path.join(llvmsrcroot, ".ci/buildbot"))
+import worker
+
+llvmbuilddir = "llvm.build"
+llvminstalldir = "llvm.inst"
+
+with worker.run(
+ __file__,
+ llvmsrcroot,
+ clobberpaths=[llvmbuilddir, llvminstalldir],
+ workerjobs=32,
+) as w:
+ with w.step("configure-openmp", halt_on_fail=True):
+ w.run_command(
+ [
+ "cmake",
+ f"-S{w.in_llvmsrc('llvm')}",
+ f"-B{llvmbuilddir}",
+ "-GNinja",
+ "-DCMAKE_BUILD_TYPE=Release",
+ "-DLLVM_ENABLE_ASSERTIONS=ON",
+ f"-DLLVM_LIT_ARGS=-vv --show-unsupported --show-xfail -j {w.jobs} --time-tests --timeout 100",
+ f"-DCMAKE_INSTALL_PREFIX={w.in_workdir(llvminstalldir)}",
+ "-DCLANG_DEFAULT_LINKER=lld",
+ "-DLLVM_TARGETS_TO_BUILD=X86;AMDGPU",
+ "-DCMAKE_C_COMPILER_LAUNCHER=ccache",
+ "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",
+ "-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=compiler-rt;openmp",
+ "-DLLVM_RUNTIME_TARGETS=default;amdgcn-amd-amdhsa",
+ "-DLLVM_ENABLE_PROJECTS=clang;lld;llvm",
+ "-DLLVM_ENABLE_RUNTIMES=offload;compiler-rt;openmp",
+ ]
+ )
+
+ with w.step("compile-openmp", halt_on_fail=True):
+ w.run_ninja(builddir=llvmbuilddir, ccache_stats=True)
+
+ with w.step("test-openmp"):
+ w.run_ninja(
+ ["check-openmp"], add_env={"HSA_ENABLE_SDMA": "0"}, builddir=llvmbuilddir
+ )
+
+ with w.step("Add check check-offload"):
+ w.run_ninja(
+ ["check-offload"], add_env={"HSA_ENABLE_SDMA": "0"}, builddir=llvmbuilddir
+ )
+
+ with w.step("LLVM: Install", halt_on_fail=True):
+ w.run_ninja(["install"], builddir=llvmbuilddir)