Pregunta

Recientemente he leído mucho sobre el software (en su mayoría científicos, matemáticas y cifrado relacionados) que se mueve parte de su cálculo en la GPU, lo que provoca una 100-1000 (!) veces el aumento en la velocidad para las operaciones.

Hay una biblioteca, API o de otra manera de ejecutar algo en la GPU a través de C#?Estoy pensando simple cálculo de Pi.Tengo una GeForce 8800 GTX si que es relevante en absoluto (preferiría tarjeta independiente de la solución, aunque).

¿Fue útil?

Solución

Es una tecnología muy nueva, pero es posible investigar CUDA . Desde su pregunta está etiquetada con C #, aquí es un . envoltorio red.

Como beneficio adicional, parece que el 8800 GTX soporta CUDA.

Otros consejos

Otra opción que no se ha mencionado para el cálculo de la GPU de C # es Brahma .

Brahma proporciona una abstracción basada en LINQ para los cálculos de GPU - es básicamente LINQ a la GPU . Funciona sobre OpenGL y DirectX sin bibliotecas adicionales (pero requiere SM3). Algunas de las muestras son bastante increíble.

Es posible que desee buscar en esta pregunta

Probablemente estés buscando Acelerador, pero si usted está interesado en el desarrollo del juego en general, le sugiero que eche un vistazo a XNA

CUDA.NET debería ser exactamente lo que buscaba, y que parece apoyar la tarjeta gráfica específica.

Puede acceder a las últimas API Direct3D de .NET utilizando el Código paquete de API de Windows . Direct3D 11 viene con Compute Shaders. Estos son más o menos comparable a CUDA, pero trabajan también en la no-GPU NVIDIA.

Tenga en cuenta que Managed DirectX y XNA se limitan al conjunto de funciones Direct3D 9, que es un poco difícil de utilizar para GPGPU.

No es un conjunto de enlaces .Net API de CUDA de Nvidia, se llama CUDA.net . Se puede hacer referencia a la guía de referencia mirar algunos ejemplos de código C #.

La mejor forma de acceder a su co-proccesor (GPU) estaría utilizando OpenCL de manera que su código sería portátil con tarjetas ATI, pero creo que puede haber codificación adicional requerido y no estoy seguro de cuánto apoyo tiene OpenCL para la plataforma .NET.

Si desea utilizar C ++, he aquí una rápida visión general sobre cómo obtener un código de ejemplo compilar con Visual Studio.

Para su información: Acelerador ( http://research.microsoft.com/en- nosotros / proyectos / acelerador / ) estaba funcionando grande para un par de pruebas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top