Kompilieren von OpenCL unter Ubuntu

8

Meine Programmiererfahrung ist ungefähr ein Jahr C / C ++ Erfahrung von der High School, aber ich habe meine Forschung gemacht und vor einigen Monaten ein einfaches Programm mit OpenCL geschrieben. Mit g ++ und der Option --framework konnte ich das relativ einfach auf einem Apple Computer kompilieren und ausführen. Jetzt bin ich auf meiner Ubuntu-Maschine und ich habe keine Ahnung, wie man es kompiliert. Die richtigen Treiber wurden zusammen mit ATIs Stream SDK heruntergeladen (ich habe eine ATI Radeon HD5870). Jede Hilfe wäre willkommen!

    
user492268 30.10.2010, 16:49
quelle

3 Antworten

8

Versuchen Sie

%Vor%

Wenn es sich in einem der Standardverzeichnisse befindet (höchstwahrscheinlich / usr / lib oder / usr / local / lib), müssen Sie "--framework OpenCL" durch "-lOpenCL" ersetzen. Wenn g ++ die lib nicht finden kann, können Sie g ++ anweisen, in ein bestimmtes Verzeichnis zu schauen, indem Sie "-L / pfad / zu / library" hinzufügen.

Ich wünschte, ich hätte mein Linux hilfreicher ... Es ist wahrscheinlich am besten, wenn Sie den ati-stream-sdk erneut herunterladen, nachdem Sie ihn extrahiert haben, öffnen Sie das Terminal und "cd / pfad / zu / extrahiert / files"; In diesem Verzeichnis führen Sie make && sudo make install

aus
  • make Sie kennen das wahrscheinlich aus Windows, das kompiliert, was auch immer kompiliert werden muss
  • && chains Befehle zusammen, die folgenden Befehle werden nur ausgeführt, wenn der erste Befehl erfolgreich war
  • sudo make install Dies bringt die Dateien an die erwarteten Stellen (sudo führt einen Befehl mit Superuser-Privilegien aus, Sie müssen Ihr Passwort eingeben)

Ich hoffe, das hilft.

    
bjoernz 30.10.2010, 20:09
quelle
0

Möglicherweise fehlen Ihnen die dynamischen Bibliotheken aus der dynamischen Linkerkonfiguration.

Suchen Sie nach den Bibliotheken. Höchstwahrscheinlich / usr / lib oder / usr / local / lib.

Stellen Sie sicher, dass der Pfad auch an einer dieser Stellen konfiguriert ist:

  • LD_LIBRARY_PATH - Sie können es in Ihrer Umgebungsshell wie .bashrc
  • setzen
  • /etc/ld.so.conf - Sie müssen ldconfig aufrufen, um den Cache zu aktualisieren, und es erfordert Root-Zugriff, um die Datei zu ändern.
Paulo Pinto 30.10.2010 22:05
quelle
0

Grund

Abgesehen von @bjoernz kann mein System die Datei libOpenCL.so nicht finden

Es liegt daran, dass das richtige Dateiverzeichnis fehlt

Nach der Suche im Internet habe ich herausgefunden, dass libOpenCL.so Datei von ocl-icd-opencl-dev package

bereitgestellt werden kann

Lösung

Sie müssen nur das oben erwähnte Paket installieren, indem Sie in cmd eingeben

%Vor%

Daher kann libOpenCL.so unter /usr/lib/x86_64-linux-gnu/ Ordner

gefunden werden

Meine Systeminformationen

  • Betriebssystem : Ubuntu 16.04 LTS
  • GPU : NVIDIA GeForce GTX 660
  • GPU-Treiber : nvidia-375
  • OpenCL : 1.2

Referenz:

[1] Wie libOpenCL.so auf ubuntu installiert wird

[2] So richten Sie OpenCL in Linux ein

    
Wei Yuang Hsu 04.09.2017 08:09
quelle

Tags und Links