Я пытаюсь установить ViennaCL-1.2.1 в научном Linux для будущих вычислений на GPU. Когда я пытаюсь вызвать make, я получаю множество ошибок, в большинстве случаев "неопределенная ссылка на clXXXXX". Я предполагаю, что это связано с тем, что он не находит мою библиотеку OpenCL должным образом. Чего я не знаю, так это того, достаточно ли у меня библиотек. В /usr /lib у меня есть libOpenCL.so, и я установил самый современный драйвер NVIDIA для моей видеокарты. Драйвер поддерживает OpenCL, но мне нужно больше загрузок с сайта NVIDIA для использования библиотеки ViennaCL?

РЕДАКТИРОВАТЬ: я решил вышеупомянутую проблему создания (я полагаю), просто перезапустив cmake. Я думаю, что я не правильно установил библиотеки, когда впервые запустил cmake, и при создании make-файлов он делал тихие ошибки. Однако это просто изменило природу проблемы.

Теперь, когда я запускаю какие-либо учебные пособия или тесты, включенные в ViennaCL, я получаю фатальную ошибку, когда «ViennaCL обнаружил неизвестную ошибку OpenCL». Он говорит, что это может быть связано с несколькими ошибками компиляции, но не вдаваться в подробности. Единственное, что не выдает ошибку - это «полоса пропускания», которая из руководства считается единственной, которая не требует OpenCL.

Для справки, вот мой процесс установки драйверов ViennaCL и GPU:

- sftp ViennaCL-1.2.1 to ~/Documents/packageInstall
- cd /usr/include
- sudo mkdir viennacl
- sudo cp -r ~/Documents/packageInstall/ViennaCL-1.2.1/viennacl/* /usr/include/viennacl
- sudo mkdir CL
- sudo cp -r ~/Documents/packageInstall/ViennaCL-1.2.1/CL/* /usr/include/CL
- sftp gpucomputingsdk_4.2.9_linux.run to ~/Documents/packageInstall
- sftp cudatoolkit_4.2.9_linux_64_rhel6.0.run to ~/Documents/packageInstall
- cd ~/Documents/packageInstall
- sudo sh ./cudatoolkit_4.2.9_linux_64_rhel6.0.run
- sudo sh ./gpucomputingsdk_4.2.9_linux.run
- cd ViennaCL-1.2.1/build
- cmake ..
- sudo make
- ./examples/tutorial/blas1 (or any other example)

2 ответа2

1

Вы правы, это очень похоже на ошибку компоновщика.
Пожалуйста, убедитесь, что флаги компоновщика установлены правильно, например -lOpenCL

0

Со значительными указателями от Карла Руппа я решил проблему, добавив пользователя, пытающегося запустить программы, в группу «Видео», а затем вручную запустил службу nvidia при каждой загрузке. Группа «Видео» требовала разрешения для доступа к библиотеке OpenCL, и драйверы должны быть запущены, чтобы графический процессор был доступен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .