J'essaye d'installer ViennaCL-1.2.1 dans linux scientifique pour le calcul futur sur GPU. Lorsque j'essaie d'appeler make, j'obtiens une série d'erreurs, la plupart du temps «une référence non définie à« clXXXXX ». Je suppose que c'est parce qu'elle ne trouve pas correctement ma bibliothèque OpenCL. Ce que je ne sais pas, c'est si Je possède suffisamment de bibliothèques. Dans / usr / lib, j'ai libOpenCL.so et j'ai installé le pilote NVIDIA le plus récent pour ma carte graphique. Ce pilote prend en charge OpenCL, mais ai-je besoin de plus de téléchargements à partir du site NVIDIA? utiliser la bibliothèque ViennaCL?
EDIT: J'ai résolu le problème de make ci-dessus (je crois) en relançant simplement cmake. Je pense que je n’avais pas correctement installé les bibliothèques lors de la première utilisation de cmake et qu’il faisait des erreurs silencieuses lors de la création des fichiers make. Cependant, cela a simplement changé la nature du problème.
Désormais, chaque fois que j'exécute l'un des didacticiels ou points de repère inclus avec ViennaCL, j'obtiens une erreur fatale, où «ViennaCL a rencontré une erreur OpenCL inconnue». Cela indique que cela pourrait être dû à plusieurs erreurs de compilation, mais ne donne pas plus de détails. Le seul qui ne génère pas d'erreur est la «réduction de bande passante» qui, d'après le manuel, s'avère être le seul à ne pas nécessiter OpenCL.
Pour référence, voici mon processus d’installation pour ViennaCL et les pilotes 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)
la source
Avec des indicateurs importants de Karl Rupp, j'ai résolu le problème en ajoutant l'utilisateur qui tentait d'exécuter les programmes dans le groupe "Vidéo", puis en démarrant manuellement le service nvidia à chaque démarrage. Le groupe "Vidéo" était requis pour autoriser l'accès à la bibliothèque OpenCL et les pilotes devaient être lancés pour que le GPU soit accessible.
la source