multihilos importar hilos como archivo concurrency erlang cuda parallel-processing gpu

concurrency - importar - ¿Cómo puedo hacer que un programa simultáneo ya escrito se ejecute en una matriz de GPU?



hilos en django (2)

Tengo una red neuronal escrita en Erlang, y acabo de comprar una tarjeta GeForce GTX 260 con una GPU de 240 núcleos. ¿Es trivial usar CUDA como pegamento para ejecutar esto en la tarjeta gráfica?


Desearía poder decirte cómo hacer esto con Erlang ... ;-), pero al menos, Satnam Singh en MS Research ha realizado un trabajo muy interesante con Haskell (Lava) y F #. Tal vez este artículo puede darle una intuición de cómo se podría hacer:

http://research.microsoft.com/en-us/people/satnams/


No, usar CUDA no es un asunto trivial.

El modelo de programación CUDA básicamente usa C (con algunas adiciones), pero para aprovechar al máximo las capacidades de la GPGPU, debe asegurarse de que sus algoritmos sigan las pautas de CUDA. (ver la Guía de programación NVidia CUDA )

Por ejemplo, para obtener el mejor rendimiento de la memoria (alrededor de 70 Gbps) necesita acceder a la memoria en modo de transmisión con coalescencia, también las ramificaciones son muy costosas en las GPU, por lo que debe evitar condicionales tanto como sea posible. Consulte la guía y las muestras proporcionadas con el SDK, que proporcionarán un excelente punto de partida