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.