Question

Mon expérience de programmation est d'environ 1 an d'expérience en C / C du lycée, mais je l'ai fait mes recherches et écrit un programme simple avec OpenCL il y a quelques mois. J'ai pu compiler et exécuter sur un ordinateur Apple relativement facilement avec g ++ et l'option --framework. Maintenant, je suis sur ma machine Ubuntu et je ne sais pas comment le compiler. Les bons pilotes ont été téléchargés avec Stream SDK ATI (j'ai une ATI Radeon HD5870). Toute aide serait appréciée!

Était-ce utile?

La solution

Essayez

locate libOpenCL.so

S'il est dans l'un des répertoires standard (le plus probable / usr / lib ou / usr / local / lib) vous devez remplacer "--framework OpenCL" avec "-lOpenCL". Si g ++ ne peut pas trouver le répertoire lib vous pouvez dire g ++ de regarder dans un répertoire spécifique en ajoutant « -L / chemin / vers / bibliothèque ».

Je voudrais avoir mon Linux d'être plus utile ... Il est probablement mieux si vous retélécharger le ati-stream-sdk, après l'extraction, ouvrez le Terminal et « cd / chemin / vers / fichiers » / extraites; dans ce répertoire exécuter make && sudo make install

  • make vous le savez probablement des fenêtres, ce compiles, tout ce qui doit être compilé
  • chaînes && commandes ensemble, les commandes suivantes ne seront exécutées que si la première commande a réussi
  • sudo make install cela mettra les fichiers dans les endroits prévus (sudo exécute une commande avec priviledges super-utilisateur, vous devrez entrer votre mot de passe)

L'espoir qui aide.

Autres conseils

Vous pourriez manquer les bibliothèques dynamiques de la configuration de linker dynamique.

Recherchez où les bibliothèques sont. Très probablement / usr / lib ou / usr / local / lib.

Assurez-vous que l'emplacement du chemin est également configuré à l'un de ces endroits:

  • LD_LIBRARY_PATH - vous pouvez définir en vous shell environnement, comme .bashrc
  • /etc/ld.so.conf -. Vous devrez ldconfig appel à mettre à jour le cache et il nécessite un accès root pour modifier le fichier

Motif

En dehors de @bjoernz, ne peut pas trouver mon système, le fichier libOpenCL.so

Il est parce que le répertoire de fichier correct est manquant

Après searchig sur Internet, je trouve que le fichier peut libOpenCL.so fourni par paquet ocl-icd-opencl-dev

Solution

Vous avez juste besoin d'installer le paquet mentionné ci-dessus en tapant dans cmd

sudo apt update
sudo apt install ocl-icd-opencl-dev

Par conséquent, libOpenCL.so se trouve sous le dossier /usr/lib/x86_64-linux-gnu/

Mes informations système

  • OS : Ubuntu 16.04 LTS
  • GPU : NVIDIA GeForce GTX 660
  • GPU pilote : nvidia-375
  • OpenCL : 1.2

Référence:

[1] Comment installer libOpenCL.so sur ubuntu

[2] Comment configurer OpenCL sous Linux

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top