Ich verwende derzeit Ubuntu 16.04 auf einem Computer mit einer AMD A8-5600K APU und einer Radeon R9 270X. Der amdgpu-Treiber unterstützt meine Karte noch nicht und daher kann ich OpenCL auf meiner GPU nicht verwenden. Ich sehe jedoch keinen Grund, warum OpenCL-Anwendungen meine CPU nicht verwenden können.
Ich habe jedes Paket installiert, das mir einfällt - ocl-icd-libopencl1 , ocl-icd-opencl-dev usw.
Ich habe eine einfache Anwendung geschrieben , die verfügbare OpenCL-Plattformen auflistet und beim clGetPlatformIDs()
Aufruf fehlschlägt . Was vermisse ich?
Bearbeiten: Ich habe das AMD APP SDK wie in der Antwort von SE6 empfohlen installiert, aber es wurden noch keine Plattformen angezeigt. Das Ausführen strace
ergab, dass der OpenCL ICD-Loader nicht finden konnte libamdocl64.so
.
Weiter bearbeiten: Erfolg! Ich konnte es mit dem folgenden Befehl zum Laufen bringen:
sudo ln -s '/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libamdocl64.so' \
/usr/lib/x86_64-linux-gnu/libamdocl64.so
(Ersetzen Sie ihn /opt
durch den Pfad, auf dem Sie das AMD APP SDK installiert haben.)
quelle
Antworten:
Installieren Sie das AMD APP SDK von der AMD-Website. Anschließend sollte Ihre CPU als OpenCL-Gerät verfügbar sein.
quelle