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.)


Antworten:


1

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.