Ошибка установки ViennaCL

Я пытаюсь установить 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 ответа

Решение

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

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

Другие вопросы по тегам