Hello,
I am trying to compile the GPU version of QMCPack 4.1.0 on my desktop (Intel i7-10700K, GeForce RTX 2070 SUPER sm_75) running Ubuntu 24.04.3.
My cmake script contains:
-D QMC_GPU="openmp;cuda" \
-D QMC_GPU_ARCHS=sm_75 \
I have installed all the CUDA stuff from the default repo (sudo apt install nvidia-cuda-*)
nvcc --version:
Cuda compilation tools, release 12.0, V12.0.140
I have tried the compilation with Intel oneAPI 2025.2.1, GNU 13.3.0 + OpenMPI, and Clang 18/20 + OpenMPI compilers:
With Intel, cmake gives me the following error:
CMake Error at CMake/IntelCompilers.cmake:31 (message):
Invalid Intel GPU architecture "sm_75"! Did you miss "intel_gpu_" prefix?
With GNU, cmake gives me the following warning:
CMake Warning at CMake/GNUCompilers.cmake:12 (message):
QMCPACK OpenMP offload is not ready for GCC compiler.
and make gives me the following error:
[ 23%] Linking CXX executable test_omptarget
lto-wrapper: fatal error: could not find accel/nvptx-none/mkoffload in /usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ (consider using ‘-B’)
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
Clang 18 from the default repo does not include clang-offload-packager, clang-linker-wrapper and probably some other stuff, so I got an error. I changed the repo to install version 20 with all the missing binaries, but this time cmake gives me this error:
clang++-20: error: no library 'libomptarget-nvptx.bc' found in the default
clang lib directory or in LIBRARY_PATH; use '--libomptarget-nvptx-bc-path'
to specify nvptx bitcode library
I also tried compiling Clang 22 from source, following several step-by-step guides from different websites, but I haven’t succeeded. Has anyone managed to compile the GPU version in this trivial case (Ubuntu desktop with root access) and could help me?
Thank you very much!
Best,
Matej