Files
llvm-project/offload/ci/openmp-offload-amdgpu-runtime.py
Michael Kruse f853880300 [Offload][CI] Convert openmp-offload-amdgpu staging bots to ScriptedBuilder (#174991)
Convert the first AMDGPU buildbots to use the ScriptedBuilder introduced
llvm-zorg. For the motivation, see
https://github.com/llvm/llvm-zorg/pull/648.

Since the production buildbot still needs to be restarted for
ScriptedBuilder to work, only convert the builders that are currently in
staging for now. These are:

 * openmp-offload-amdgpu-runtime
 * openmp-offload-amdgpu-clang-flang

Both of them happen to be OpenMPBuilder.getOpenMPCMakeBuildFactory-based
builders before this change. They also set an environment variable that
the previous ScriptedBuilder did not, so we are adding support.

The corresponding llvm-zorg change is
https://github.com/llvm/llvm-zorg/pull/697.
2026-01-17 22:02:23 +01:00

61 lines
2.1 KiB
Python
Executable File

#! /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)