Wie aktiviere ich die CPU-Plattform für OpenCL-Anwendungen?

8

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älltInstallieren Sie ocl-icd-libopencl1 - ocl-icd-libopencl1 , ocl-icd-opencl-devInstallieren Sie 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 straceergab, 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 /optdurch den Pfad, auf dem Sie das AMD APP SDK installiert haben.)

Nathan Osman
quelle
Auf tatsächlicher CPU oder iGPU?
Ciro Santilli 法轮功 病毒 审查 六四 事件 法轮功

Antworten:

1

Installieren Sie das AMD APP SDK von der AMD-Website. Anschließend sollte Ihre CPU als OpenCL-Gerät verfügbar sein.

Se6
quelle
1
Ich habe es geschafft, es zu installieren, aber der ICD scheint nicht zu funktionieren. Immer noch "keine Plattformen".
Nathan Osman
Ich habe die Frage aktualisiert, um den Fortschritt beim Debuggen widerzuspiegeln.
Nathan Osman
... und endlich Erfolg!
Nathan Osman