[libcxx-commits] [libcxx] Adding Separate OpenMP Offloading Backend to `libcxx/include/__algorithm/pstl_backends` (PR #66968)
Anton Rydahl via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Oct 30 10:16:21 PDT 2023
================
@@ -330,6 +330,23 @@ def getStdFlag(cfg, std):
default=f"{shlex.quote(sys.executable)} {shlex.quote(str(Path(__file__).resolve().parent.parent.parent / 'run.py'))}",
help="Custom executor to use instead of the configured default.",
actions=lambda executor: [AddSubstitution("%{executor}", executor)],
+ ),
+ Parameter(
+ name="openmp_pstl_backend",
+ choices=[True, False],
+ type=bool,
+ default=False,
+ help="Enable the OpenMP compilation toolchain if the PSTL backend was set to OpenMP.",
+ actions=lambda enabled: [
+ AddCompileFlag("-fopenmp"),
+ # The linker needs to find the correct version of libomptarget
+ AddLinkFlag("-Wl,-rpath,%{lib}/../../lib"),
+ AddLinkFlag("-L%{lib}/../../lib"),
+ # The preprocessor needs to find the omp.h header
+ AddFlag("-I %{lib}/../../runtimes/runtimes-bins/openmp/runtime/src"),
+ # If the OpenMP PSTL backend was enbaled, we wish to run the tests for it
----------------
AntonRydahl wrote:
Hi @jhuber6 and @jdoerfert. @ldionne and I just discussed how to modify the `libc++` test configuration to be able to offload to GPUs. I could not get it to work without appending linking and include paths. Do you think `clang` should automatically look for `libomptarget.so` and `omp.h` in the correct places, or is it really necessary to add the paths?
https://github.com/llvm/llvm-project/pull/66968
More information about the libcxx-commits
mailing list