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.


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



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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.