Kann ich die GPU für Berechnungen verwenden?

104

Ist es möglich, die GPU für Berechnungen zu verwenden? (zB CUDA / OpenCL)

Alex L
quelle

Antworten:

67

Ab 2012 bestand die beste Möglichkeit darin, Ihre Berechnung als Fragment-Shader in GLSL ES zu implementieren und eine Möglichkeit zu finden, die Ausgabe als RGBA-Textur (32-Bit) darzustellen.

Eben erklärte in diesem Vortrag von 2012, dass OpenCL wahrscheinlich nicht implementiert wird, aber dass möglicherweise in Zukunft eine API entwickelt wird. Die Antwort beginnt um 21:20 Uhr , und Eben sagt: "Wir können den Leuten eine Möglichkeit bieten, einen Teil dieses Allzweckrechners herauszubekommen."

Jüngste Entwicklungen wie das VC4CL-Projekt haben versucht, OpenCL auf der von Raspberry Pi verwendeten VideoCore IV-GPU zu implementieren, und andere verwandte Projekte bieten jetzt Zugriff auf einen Teil der allgemeinen Rechenleistung der GPU.

finnw
quelle
6
AFAIK, dieses Gespräch ist die definitivste Antwort bis jetzt ... die Antwort beginnt um 21:20 Uhr und Eben sagt: "Wir können den Leuten eine Möglichkeit bieten, etwas von diesem Allzweck herauszubekommen"
je4d
5
Ein Teil des GPU-Codes wurde geöffnet! github.com/raspberrypi/userland
John La Rooy
Dies entspricht der Implementierung von OpenCL, da jemand einfach ein VideoCore OpenCL-Backend zu LLVM hinzufügen kann, um OpenCL zu VC zu kompilieren.
Maxthon Chan
2
Die Situation hat sich 2014 mit der offiziellen Veröffentlichung von Dokumentation und verschiedenen Blogposts über GPGPU im offiziellen Blog selbst geändert .
Flakeshake
29

Derzeit nicht - es gibt nur eine Framebuffer-Oberfläche für Anzeigezwecke. Es gibt keine OpenCL und keine Pläne dafür, und es gibt auch keine Dokumentation zum Erstellen von OpenCL. CUDA ist nur Nvida, daher gilt dies nicht. Sobald ein OpenGL-Treiber verfügbar ist, können Sie möglicherweise einige Berechnungen über die GPU ausführen. Wie nützlich dies sein wird, bleibt abzuwarten.

Schauen Sie sich diesen ausführlichen Thread im RPi-Forum an: GPU Processing API

Nick McCloud
quelle
11

Dies kann nützlich sein. GPGPU-Python-Bibliothek für den Himbeer-Pi. https://github.com/nineties/py-videocore

Eine Allzweck-GPU (GPGPU) ist eine Grafikverarbeitungseinheit (GPU), die nicht spezialisierte Berechnungen durchführt, die normalerweise von der CPU ausgeführt werden

Raspi-Ninja
quelle
9

Mit QPULib können Sie übergeordnete Programme schreiben, die auf der GPU des Pis ausgeführt werden:

https://github.com/mn416/QPULib

Es ist eine Programmiersprache und ein Compiler, der auf die 12 Vektorprozessoren (QPUs) in der GPU des Pi abzielt. Es soll einfach zu bedienen sein und wird als EDSL (Embedded Domain Specific Language) implementiert - eine leichte Alternative zu einem vollständigen OpenCL-Backend.

user46562
quelle