Ich habe eine neue Ubuntu 16.04-Installation, bei der nur der AMDGPU-Pro-Treiber (proprietär) und die Docker-Engine (von apt.dockerproject.org PPA) installiert sind.
Ich möchte OpenCL-Programme in Docker-Containern ausführen. Ich denke: Der Kernel wird gemeinsam genutzt, daher sollten die GPU-Module für die Container verfügbar sein. Was fehlt, sind die Bibliotheken für den Zugriff auf die Module.
Ich habe einen Container eingerichtet und ein OpenCL-Programm darin kompiliert. Wenn Sie das darin enthaltene Programm ausführen, wird zurückgegeben, dass keine Geräte gefunden wurden. Also habe ich die Binärdatei auf den Host kopiert und die Ausführung der Binärdatei dort funktioniert (meine beiden GPU-Geräte wurden erkannt).
Ich habe versucht, einen neuen Container (von Ubuntu: 16.04) zu erstellen und die Binärdatei und alle erforderlichen Bibliotheken aus dem zum Kompilieren verwendeten Container UND dem Ordner /usr/lib/x86_64-linux-gnu/amdgpu-pro
vom Host zu kopieren .
Leider hat das auch nicht funktioniert. Was könnte ich vermissen?
quelle