Czy mogę używać GPU do obliczeń?

Odpowiedzi:

67

W 2012 r. Najlepszym rozwiązaniem było zaimplementowanie obliczeń jako modułu cieniującego fragmenty w GLSL ES i znalezienie sposobu na przedstawienie wyniku jako tekstury RGBA (32-bitowej).

Eben stwierdził w tym wystąpieniu w 2012 r., Że prawdopodobnie nie zostanie wdrożone OpenCL, ale w przyszłości może zostać opracowany interfejs API; odpowiedź zaczyna się o godzinie 21:20 , a Eben mówi: „możemy zapewnić ludziom sposób na wykonanie obliczeń tego ogólnego celu”.

Ostatnie zmiany, takie jak projekt VC4CL , próbowały wdrożyć OpenCL na GPU VideoCore IV używanego przez Raspberry Pi, a inne powiązane projekty zapewniają teraz dostęp do niektórych ogólnych mocy obliczeniowych GPU.

finnw
źródło
6
AFAIK, że ta rozmowa jest jak dotąd najbardziej ostateczną odpowiedzią ... odpowiedź zaczyna się o 21:20, a Eben mówi: „możemy zapewnić ludziom sposób na wykonanie obliczeń tego ogólnego celu”
je4d
5
Część kodu GPU została otwarta! github.com/raspberrypi/userland
John La Rooy
Jest to równoważne z implementacją OpenCL, ponieważ ktoś może po prostu dodać backend VideoCore OpenCL do LLVM, aby skompilować OpenCL z VC.
Maxthon Chan,
2
Situtation zmieniło się w 2014 roku wraz z oficjalnym wydaniem dokumentacji i różnymi postami na blogu o GPGPU na oficjalnym blogu.
płatek śniegu
29

Obecnie nie ma - istnieje tylko interfejs bufora ramki do celów wyświetlania. Nie ma OpenCL i nie ma na to żadnych planów, nie ma też dokumentacji do stworzenia OpenCL. CUDA jest tylko Nvida, więc nie dotyczy. Gdy sterownik OpenGL stanie się dostępny, możesz być w stanie wykonać pewne obliczenia za pomocą GPU, ale jak przydatne będzie to jeszcze okaże się.

Sprawdź ten szczegółowy wątek na forum RPi: Interfejs API przetwarzania GPU

Nick McCloud
źródło
11

Ten może być przydatny .. Biblioteka python GPGPU dla Raspberry Pi. https://github.com/nineties/py-videocore

GPU ogólnego przeznaczenia (GPGPU) to procesor graficzny (GPU), który wykonuje niewyspecjalizowane obliczenia, które zwykle byłyby wykonywane przez CPU

raspi-ninja
źródło
9

Możesz pisać programy wysokiego poziomu, które działają na GPU Pi przy użyciu QPULib:

https://github.com/mn416/QPULib

Jest to język programowania i kompilator ukierunkowany na 12 procesorów wektorowych (QPU) w GPU Pi. Ma być łatwy w użyciu i jest implementowany jako EDSL (Embedded Domain Specific Language) - lekka alternatywa dla pełnowymiarowego backendu OpenCL.

użytkownik46562
źródło