У меня правильно установлен набор инструментов cuda, и я следовал инструкциям по установке Linux, найденным здесь https://arrayfire.org/docs/installing. htm#gsc.tab=0.
Ошибка:
Код: Выделить всё
In function compileModule
In file src/backend/cuda/compile_module.cpp:297
NVRTC Error(7): NVRTC_ERROR_BUILTIN_OPERATION_FAILURE
Log:
nvrtc: error: failed to open libnvrtc-builtins.so.12.2.
Make sure that libnvrtc-builtins.so.12.2 is installed correctly.
Код: Выделить всё
cmake_minimum_required(VERSION 3.27)
project(...)
set(CMAKE_CXX_STANDARD 17)
set(CUDA_TOOLKIT_ROOT_DIR "/usr/local/cuda-11.3")
find_package(CUDAToolkit 11.3 REQUIRED)
include_directories(
${PROJECT_SOURCE_DIR}/lib/eigen-3.4.0
${CUDA_TOOLKIT_ROOT_DIR}/include
${ArrayFire_INCLUDE_DIRS}
${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR}
)
link_directories(
${CUDA_TOOLKIT_ROOT_DIR}/lib64
)
set(ArrayFire_DIR /opt/ArrayFire-3.9.0-Linux/share/ArrayFire/cmake)
find_package(ArrayFire REQUIRED)
if(ArrayFire_CUDA_FOUND)
add_definitions(-DAF_CUDA)
elseif(ArrayFire_OpenCL_FOUND)
add_definitions(-DAF_OPENCL)
elseif(ArrayFire_CPU_FOUND)
add_definitions(-DAF_CPU)
endif()
add_subdirectory(lib/googletest)
add_executable(${PROJECT_NAME}
... my files
)
add_executable(run_gs_dbscan_tests
... my files
)
set(CUDA_LIBS
libcudart.so
libcublas.so
libcusolver.so
)
target_link_libraries(run_gs_dbscan_tests gtest gtest_main ${CUDA_LIBS} ${ArrayFire_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${CUDA_LIBS} ${ArrayFire_LIBRARIES})
Код: Выделить всё
Mon May 20 12:20:31 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 Off | 00000000:01:00.0 Off | N/A |
| 0% 50C P8 40W / 390W | 16MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA GeForce RTX 3090 Off | 00000000:4A:00.0 Off | N/A |
| 0% 49C P8 37W / 390W | 628MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1994 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 2644 G /usr/lib/xorg/Xorg 4MiB |
| 1 N/A N/A 1994 G /usr/lib/xorg/Xorg 150MiB |
| 1 N/A N/A 2644 G /usr/lib/xorg/Xorg 426MiB |
| 1 N/A N/A 2812 G /usr/bin/gnome-shell 24MiB |
+-----------------------------------------------------------------------------------------+
Код: Выделить всё
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:15:13_PDT_2021
Cuda compilation tools, release 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0
Я пытался запустить тесты Google CPP, которые используют ArrayFire для управления матрицами. . Ожидал, что он будет работать нормально, но этого не произошло - см. сообщение об ошибке, как указано выше.
Подробнее здесь: https://stackoverflow.com/questions/785 ... ns-so-12-2