C#: Realizar operaciones en GPU, no en CPU (Calcular Pi) [cerrado]
Recientemente he leído mucho sobre el software (principalmente científico / matemáticas y cifrado relacionados) que mueve parte de su cálculo en la GPU que causa un 100-1000 (!) aumento de la velocidad de plegado para operaciones soportadas.
¿Hay una biblioteca, API u otra forma de ejecutar algo en la GPU a través de C#? Estoy pensando en un simple cálculo de Pi. Tengo una GeForce 8800 GTX si eso es relevante (aunque preferiría una solución independiente de la tarjeta).
7 answers
Es una tecnología muy nueva, pero podrías investigar CUDA. Dado que su pregunta está etiquetada con C#, aquí hay un . net wrapper.
Como bono, parece que su 8800 GTX soporta CUDA.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-27 20:40:56
Otra opción que no se ha mencionado para el cálculo de GPU desde C# es Brahma.
Brahma proporciona una abstracción basada en LINQ para los cálculos de GPU-es básicamente LINQ a GPU. Funciona sobre OpenGL y DirectX sin bibliotecas adicionales (pero requiere SM3). Algunas de las muestras son bastante sorprendentes.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-10 14:40:02
Es posible que desee mirar esta pregunta
Probablemente estés buscando Accelerator , pero si estás interesado en el desarrollo de juegos en general, te sugiero que eches un vistazo a XNA
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:06
CUDA.NET debería ser exactamente lo que estás buscando, y parece ser compatible con tu tarjeta gráfica específica.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-08 21:09:41
Puede acceder a las últimas API de Direct3D desde.NET utilizando el Paquete de código de API de Windows . Direct3D 11 viene con sombreadores de cómputo. Estos son más o menos comparables a CUDA, pero también funcionan en GPU que no son NVIDIA.
Tenga en cuenta que DirectX y XNA administrados están limitados al conjunto de características de Direct3D 9, que es algo difícil de usar para GPGPU.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-08 21:39:06
Hay un conjunto de enlaces. Net para la api CUDA de Nvidia, que se llama CUDA.net . Puede consultar la guía de referencia para ver algunos ejemplos de código C#.
La forma preferida de acceder a su co-proccesor (GPU) sería usar OpenCL para que su código sea portátil con tarjetas ATI, pero creo que puede haber codificación adicional requerida y no estoy seguro de cuánto soporte tiene OpenCL para la plataforma.Net.
Si desea utilizar C++, aquí hay un rápido descripción general sobre cómo obtener una compilación de código de ejemplo con Visual Studio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-08 21:51:47
Para su información: Acelerador ( http://research.microsoft.com/en-us/projects/Accelerator / ) funcionó muy bien para un par de pruebas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-20 03:54:11