Frage

Ich habe gelesen, vor kurzem viel über Software (meist wissenschaftliche / Mathematik und Verschlüsselung im Zusammenhang), die einen Teil ihrer Berechnung auf der GPU bewegt, die für unterstützte Operationen ein 100-1000 (!) Fache Steigerung der Geschwindigkeit verursacht.

Gibt es eine Bibliothek, API oder andere Weise etwas auf der GPU über C # laufen? Ich denke an einfacher Pi-Berechnung. Ich habe einen GeForce 8800 GTX, wenn das überhaupt relevant ist (würde es vorziehen, Karte, obwohl unabhängige Lösung).

War es hilfreich?

Lösung

Es ist eine sehr neue Technologie, aber Sie könnten untersuchen CUDA . Da Ihre Frage mit C # markiert ist, ist hier ein . Net-Wrapper .

Als Bonus, wie es scheint, dass Ihr 8800 GTX unterstützt CUDA.

Andere Tipps

Eine weitere Option, die nicht für GPU-Berechnung von C # erwähnt hat, ist Brahma .

Brahma ein-LINQ basierte Abstraktion für GPU-Berechnungen - es ist im Grunde LINQ to GPU . Es funktioniert über OpenGL und DirectX ohne zusätzliche Bibliotheken (aber erfordert SM3). Einige der Proben sind ziemlich erstaunlich.

Sie können unter diese Frage

aussehen wollen

Sie suchen wahrscheinlich für Accelerator , aber wenn Sie sind in der Entwicklung von Spielen im allgemeinen interessiert ich werde vorschlagen, dass Sie einen Blick auf XNA nehmen

CUDA.NET sollte genau das sein, was Sie sind suchen, und es scheint, spezifische Grafikkarte zu unterstützen.

Sie können den neuesten Direct3D-APIs zugreifen .NET mit dem Windows-API-Code-Pack . Direct3D 11 kommt mit Compute Shaders. Dies sind in etwa vergleichbar mit CUDA, sondern arbeiten auch an Nicht-NVIDIA-GPUs.

Beachten Sie, dass Managed DirectX und XNA werden den Direct3D 9 Funktionsumfang beschränkt, die etwas schwierig ist, für GPGPU zu verwenden.

Es gibt eine Reihe von .Net-Bindings für Nvidias CUDA api, nennt man das CUDA.net . Sie können auf die Referenzhandbuch irgend Probe C # -Code zu suchen.

Der bevorzugte Weg, um Ihren Co-proccesor (GPU) zugreifen würde mit OpenCL so dass Ihr Code würde mit ATI-Karten tragbar sein, aber ich glaube, dass es zusätzliche Codierung erforderlich sein kann, und ich bin nicht sicher, wie viel Unterstützung OpenCL für die .NET-Plattform hat.

Wenn Sie C ++ verwenden möchten, hier ist eine schnelle Übersicht , wie einige Beispiel-Code mit Visual Studio kompilieren zu erhalten.

Zu Ihrer Information: Beschleuniger ( http://research.microsoft.com/en- wir / Projekte / Beschleuniger / ) arbeiten groß für ein paar Tests.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top