¿Puedo usar la GPU para los cálculos?

Respuestas:

67

A partir de 2012, su mejor opción fue implementar su cálculo como un sombreador de fragmentos en GLSL ES y encontrar una manera de representar la salida como una textura RGBA (32 bits).

Eben declaró en esta charla de 2012 que no es probable que se implemente OpenCL, pero que puede haber una API desarrollada en el futuro; la respuesta comienza a las 21:20 , y Eben dice "podemos proporcionar alguna forma para que las personas obtengan parte de ese cálculo de propósito general".

Desarrollos recientes, como el proyecto VC4CL, han intentado implementar OpenCL en la GPU VideoCore IV utilizada por Raspberry Pi, y otros proyectos relacionados ahora brindan acceso a parte de la potencia de cómputo general de la GPU.

finnw
fuente
66
AFAIK esa conversación es la respuesta más definitiva hasta ahora ... la respuesta comienza a las 21:20, y Eben dice "podemos proporcionar alguna forma para que las personas obtengan parte de ese cálculo de propósito general"
je4d
55
¡Parte del código de la GPU ha sido abierto! github.com/raspberrypi/userland
John La Rooy
Es equivalente a implementar OpenCL, ya que alguien puede agregar un backend de VideoCore OpenCL a LLVM para compilar OpenCL a VC.
Maxthon Chan el
2
La situación ha cambiado en 2014 con el lanzamiento oficial de documentación y varias publicaciones de blog sobre GPGPU en el propio blog oficial.
Flakeshake
29

Actualmente no, solo hay una interfaz de framebuffer para fines de visualización. No hay OpenCL y no hay planes para ello ni hay documentación disponible para crear OpenCL. CUDA es Nvida solo, así que no es aplicable. Una vez que un controlador OpenGL esté disponible, puede diseñar algunos cálculos a través de la GPU, pero aún queda por ver qué tan útil será.

Echa un vistazo a este hilo detallado en el foro RPi: GPU Processing API

Nick McCloud
fuente
11

Este puede ser útil. Biblioteca GPGPU python para la frambuesa pi. https://github.com/nineties/py-videocore

Una GPU de propósito general (GPGPU) es una unidad de procesamiento de gráficos (GPU) que realiza cálculos no especializados que normalmente realizaría la CPU

raspi-ninja
fuente
9

Puede escribir programas de alto nivel que se ejecuten en la GPU de Pi usando QPULib:

https://github.com/mn416/QPULib

Es un lenguaje de programación y un compilador dirigido a los 12 procesadores vectoriales (QPU) dentro de la GPU de Pi. Su objetivo es ser fácil de usar y se implementa como un EDSL (Lenguaje específico de dominio incorporado), una alternativa liviana a un backend completo de OpenCL.

usuario46562
fuente