Frage

Meine Programmiererfahrung ist etwa 1 Jahr von C / C ++ Erfahrung von der High School, aber ich habe meine Forschung und schrieb vor ein paar Monaten ein einfaches Programm mit OpenCL. Ich konnte dies auf einem Apple-Computer kompilieren und laufen relativ leicht mit g ++ und der --framework Option. Jetzt bin ich auf meinem Ubuntu-Rechner und ich habe keine Ahnung, wie es zu kompilieren. Die richtigen Treiber wurden mit ATI Stream SDK (Ich habe eine ATI Radeon HD5870) heruntergeladen zusammen. Jede mögliche Hilfe würde geschätzt!

War es hilfreich?

Lösung

Versuchen

locate libOpenCL.so

Wenn es in einem der Standardverzeichnisse (wahrscheinlich / usr / lib oder / usr / local / lib) benötigen Sie "--framework OpenCL" mit "-lOpenCL" zu ersetzen. Wenn g ++ kann nicht die lib finden Sie g ++ sagen können, in einem bestimmten Verzeichnis suchen, indem Sie "-L / path / to / Bibliothek".

Ich wünschte, ich hätte meine Linux hilfreicher zu sein ... Es ist wahrscheinlich am besten, wenn Sie den ati-stream-sdk redownload, nachdem er das Extrahieren, öffnen Sie das Terminal und "cd / path / to / extrahierter / files"; in diesem Verzeichnis make && sudo make install

execute
  • make Sie wahrscheinlich diese aus den Fenstern wissen, diese compiliert, was auch immer kompiliert werden muss,
  • && Ketten-Befehle zusammen, werden die folgenden Befehle nur dann ausgeführt werden, wenn der erste Befehl erfolgreich ist
  • sudo make install Dadurch werden die Dateien in den erwarteten Orten setzen (sudo führt einen Befehl mit Superuser-Privilegien, müssen Sie Ihr Passwort eingeben)

Ich hoffe, das hilft.

Andere Tipps

Sie können die dynamischen Bibliotheken von der dynamischen Linker Konfiguration fehlen.

Nach dem sich die Bibliotheken sind. Wahrscheinlich / usr / lib oder / usr / local / lib.

Stellen Sie sicher, dass der Pfad Lage ist auch an einem dieser Orte konfiguriert:

  • LD_LIBRARY_PATH - Sie können es in Ihnen Umwelt Shell setzen kann, wie .bashrc
  • /etc/ld.so.conf -. Sie Anruf ldconfig müssen den Cache zu aktualisieren, und es erfordert Root-Zugriff, die Datei zu ändern

Begründung

Neben @bjoernz, mein System kann die libOpenCL.so-Datei

Es ist, weil das richtige Dateiverzeichnis fehlt

Nach searchig über das Internet, fand ich, dass libOpenCL.so Datei aus durch ocl-icd-opencl-dev Paket bereitgestellt wird, kann

Lösung

Sie müssen nur das Paket installieren oben erwähnt durch Eingabe in cmd

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

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

finden

Meine Systeminformationen

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

Referenz:

[1] Wie libOpenCL.so auf Ubuntu installieren

[2] Wie OpenCL in Linux einzurichten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top