J'ai récemment lu beaucoup de choses sur les logiciels (principalement scientifiques/mathématiques et liés au cryptage) qui transfèrent une partie de leurs calculs sur le GPU, ce qui multiplie par 100 la vitesse des opérations prises en charge.
Existe-t-il une bibliothèque, une API ou un autre moyen d'exécuter quelque chose sur le GPU via C #? Je pense au calcul simple de Pi. J'ai une GeForce 8800 GTX si cela est pertinent (je préférerais une solution indépendante de la carte).
Une autre option qui n’a pas été mentionnée pour le calcul de GPU à partir de C # est Brahma .
Brahma fournit une abstraction basée sur LINQ pour les calculs de GPU - il s’agit essentiellement de LINQ à GPU. Cela fonctionne sur OpenGL et DirectX sans bibliothèques supplémentaires (mais nécessite SM3). Certains échantillons sont assez étonnants.
Vous voudrez peut-être regarder cette question
Vous recherchez probablement Accelerator , mais si le développement de jeux en général vous intéresse, je vous suggère de jeter un coup d'œil à XNA.
CUDA.NET devrait correspondre exactement à ce que vous recherchez et semble prendre en charge votre carte graphique spécifique.
Vous pouvez accéder aux dernières API Direct3D à partir de .NET à l'aide de Windows API Code Pack . Direct3D 11 est livré avec Compute Shaders. Celles-ci sont à peu près comparables à CUDA, mais fonctionnent également sur des GPU non-NVIDIA.
Notez que Managed DirectX et XNA sont limités à l'ensemble de fonctionnalités de Direct3D 9, ce qui est un peu difficile à utiliser pour GPGPU.
Il existe un ensemble de liaisons .Net pour l'API CUDA de Nvidia, appelé CUDA.net . Vous pouvez vous référer au guide de référence pour consulter un exemple de code C #.
Le moyen privilégié pour accéder à votre co-proccesor (GPU) serait d'utiliser OpenCL pour que votre code soit portable avec des cartes ATI, mais je pense qu'un codage supplémentaire est peut-être nécessaire et je ne sais pas dans quelle mesure OpenCL prend en charge a pour la plate-forme .Net.
Si vous souhaitez utiliser C++, voici un aperçu rapide sur la façon de compiler un exemple de code avec Visual Studio.
FYI: Accelerator ( http://research.Microsoft.com/en-us/projects/Accelerator/ ) fonctionnait bien pour quelques tests.