[Openmp-dev] check-omptarget with CUDA not in default path
Michael Kruse via Openmp-dev
openmp-dev at lists.llvm.org
Mon Oct 12 14:17:43 PDT 2020
Running the OpenMP target offloading regression test fails with the
following error:
clang-12: error: cannot find libdevice for sm_70. Provide path to
different CUDA installation via --cuda-path, or pass -nocudalib to
build without linking with libdevice.
[note that passing -nocudalib also fails with:
clang-12: error: unable to execute command: Executable "ptxas" doesn't exist!
clang-12: error: ptxas command failed with exit code 1 (use -v to see
invocation)
]
for the following tests:
Failed Tests (24):
libomptarget :: env/base_ptr_ref_count.c
libomptarget :: env/omp_target_debug.c
libomptarget :: mapping/alloc_fail.c
libomptarget :: mapping/declare_mapper_api.cpp
libomptarget :: mapping/declare_mapper_target.cpp
libomptarget :: mapping/declare_mapper_target_data.cpp
libomptarget :: mapping/declare_mapper_target_data_enter_exit.cpp
libomptarget :: mapping/declare_mapper_target_update.cpp
libomptarget :: mapping/delete_inf_refcount.c
libomptarget :: mapping/lambda_mapping.cpp
libomptarget :: mapping/pr38704.c
libomptarget :: mapping/private_mapping.c
libomptarget :: offloading/d2d_memcpy.c
libomptarget :: offloading/dynamic_module.c
libomptarget :: offloading/dynamic_module_load.c
libomptarget :: offloading/info.c
libomptarget :: offloading/looptripcnt.c
libomptarget :: offloading/memory_manager.cpp
libomptarget :: offloading/offloading_success.c
libomptarget :: offloading/offloading_success.cpp
libomptarget :: offloading/parallel_offloading_map.c
libomptarget :: offloading/requires.c
libomptarget :: offloading/target_depend_nowait.cpp
libomptarget :: unified_shared_memory/api.c
The reason seems to be that CUDA is not found in any default path, so
the regression tests should pass --cuda-path just like
cmake\Modules\LibomptargetNVPTXBitcodeLibrary.cmake already does:
set(compiler_flags_required ... --cuda-path=${CUDA_TOOLKIT_ROOT_DIR})
I assume, without having bisected, the following patch started with
this kind of error, although others have been added since then.
https://reviews.llvm.org/D84557
I can see two solutions to the problems. Either, as mentioned,
%libomptarget-compile-nvptx64-nvidia-cuda is expanded including the
--cuda-path parameter set to ${CUDA_TOOLKIT_ROOT_DIR}, or clang
(CudaInstallationDetector) is changed to use CUDA_TOOLKIT_ROOT_DIR as
one of the candidates.
Which one is preferred?
Michael
--
Tardyzentrismus verboten!
--
Tardyzentrismus verboten!
More information about the Openmp-dev
mailing list