La compilation OpenCL sur Ubuntu
Mon expérience de la programmation est d'environ 1 an de C/C++ de l'expérience de l'école secondaire, mais j'ai fait des recherches et écrit un programme simple avec OpenCL il y a quelques mois. J'ai été en mesure de compiler et de l'exécuter sur un ordinateur Apple relativement facilement avec g++ et --cadre de l'option. Maintenant, je suis sur ma machine Ubuntu et je n'ai aucune idée de comment le compiler. Les pilotes téléchargés avec ATI Stream SDK (j'ai une ATI Radeon HD5870). Toute aide serait appréciée!
OriginalL'auteur user492268 | 2010-10-30
Vous devez vous connecter pour publier un commentaire.
Essayer
Si c'est dans l'un des répertoires standard (le plus probable /usr/lib ou /usr/local/lib), vous devez remplacer "--cadre OpenCL" avec "-lOpenCL". Si g++ ne peut pas trouver la lib vous pouvez dire à g++ à rechercher dans un répertoire spécifique en ajoutant "-L/chemin/vers/bibliothèque".
Je souhaite que j'ai eu mon Linux pour être plus utile... Il est probablement mieux si vous téléchargez à nouveau le ati stream sdk, après l'extraction, ouvrez le Terminal et la commande "cd /chemin/vers/extrait/fichiers"; dans ce répertoire exécuter
make && sudo make install
make
vous le savez probablement ce à partir de windows, cette compile, tout ce qui doit être compilé&&
chaînes de commandes, les commandes suivantes seront exécutées uniquement si la première commande a réussisudo make install
cela permettra de mettre les fichiers dans les endroits prévus (sudo exécute une commande avec des privilèges de super-utilisateur, vous devez entrer votre mot de passe)Espère que ça aide.
peut-être que vous devez dire à g++ sur l'emplacement de la "CL/" répertoire (avec un "tableau de bord capital i"): g++ -L/chemin/vers/bibliothèque -I/chemin/vers/CL main.cpp -lOpenCL
Maintenant, je suis arriver: /usr/bin/ld: ne peut trouver -lOpenCL collect2: ld a retourné 1 code de sortie. Je devrais peut-être demander si je suis censé avoir déplacé autour des fichiers à partir du dossier SDK dans les différentes parties de mon système de fichier. Je m'excuse, je suis nouveau sur Linux (tout récemment, en essayant de passer de Windows).
Oh, et au cas où quelqu'un est dans une situation similaire, la dernière ligne de compiler était: "g++ -lOpenCL -L/stream-sdk-2.2/lib/x86_64/ -I/stream-sdk-2.2/include/ [nom de fichier].c"
J'ai dû courir
g++ -L/opt/AMDAPP/lib/x86_64/ -I/opt/AMDAPP/include [filename.cpp] -lOpenCL
OriginalL'auteur bjoernz
Vous pourriez être absent les bibliothèques dynamiques de l'éditeur de liens dynamique de configuration.
De recherche pour où les bibliothèques sont. Le plus probable /usr/lib ou /usr/local/lib.
Assurez-vous que le chemin d'accès de l'emplacement est également configuré à l'un de ces lieux:
OriginalL'auteur Paulo Pinto
Raison
Côté de @bjoernz, mon système ne peut pas trouver le
libOpenCL.so
fichierC'est parce que le bon répertoire du fichier est manquant
Après searchig sur internet, j'ai découvert que
libOpenCL.so
fichier fourni parocl-icd-opencl-dev
paquetSolution
Vous avez juste besoin d'installer le paquet mentionné ci-dessus en tapant dans cmd
Par conséquent,
libOpenCL.so
peut être trouvé sous/usr/lib/x86_64-linux-gnu/
dossierMon Système D'Information
Référence:
[1] Comment faire pour installer libOpenCL.donc sur ubuntu
[2] Comment mettre en place OpenCL sous Linux
OriginalL'auteur Wei Yuang Hsu