2016-07-10 31 views
-1

So wie der Titel sagt, benutzt directx in irgendeiner Weise die CUDA Bibliotheken/Erweiterungen für Nvidia Karten unter der Haube?Verwendet DirectX die CUDA-Bibliothek für NVIDIA-Grafikkarten?

Im Grunde machen die DirectX-Bibliotheken, unter der Haube, tatsächlich Aufrufe über CUDA-Bibliotheken an die CUDA-Kerne?

+2

Die Antwort mit einem Wort ist nein. – talonmies

+1

CUDA ist eine NVidia-Technologie. DirectX ist herstellerunabhängig. DirectCompute funktioniert auf Intel Integrated Graphics, NVidia und AMD Video Direct3D Feature Level 11.0 oder späteren Karten. Warum fragst du? –

+0

Ich war neugierig, wie man mit nvidia-cards die volle Kontrolle/Optimierung der Spiele-Anwendungen übernimmt und dachte, ob CUDA-Programmierung der Weg war. – dave

Antwort

3

Die Frage ist meiner Meinung nach eine legitime Frage.

DirectX ist ein Framework (ein Bündel von Bibliotheken), das Programmierschnittstellen für Grafik, Sound und andere Peripheriegeräte bereitstellt, die hauptsächlich für Spiele entwickelt wurden. Direct3D ist, genau wie OpenGL, die Bibliothek, die für die Kommunikation mit der Grafikkarte zuständig ist. Ich nehme an, dass Ihre Frage auf Direct3D gerichtet war.

Wenn Direct3D aufgerufen wird, verwendet es die gleichen Multiprozessoren wie CUDA und noch mehr Komponenten (z. B. Rasterizer). Direct3D ist jedoch direkt mit den Grafikkartentreibern (in diesem Fall NVIDIA) verbunden. Im Grunde genommen rufen sowohl CUDA als auch Direct3D die NVIDIA-Treiber auf, allerdings auf eine etwas andere Art und Weise.

Es ist erwähnenswert, dass Pixel/Vertex Shader, die Teil von Direct3D/OpenGL sind, tatsächlich die Idee hinter CUDA ausgelöst haben. Zurück im Jahr 2007, Menschen schreiben allgemeinen Zweck wissenschaftlichen Code in Pixel-Shader.

P.S. DirectCompute ist der nächste Verwandte, den CUDA DirectX anbieten kann, und ermöglicht so eine plattformübergreifende (d. H. Nicht NVIDIA-) GPU-Entwicklung.

+0

Wow, danke für das Aufräumen. Wenn die CUDA-Bibliothek speziell für ihre CUDA-GPUs entwickelt wurde, ist sie dann in der Theorie besser für Grafikanwendungen optimiert? – dave

+0

Aufgrund von spezifischen Funktionen in GPUs (wie dem Textur-Cache) sind grafikorientierte Berechnungen besser für CUDA geeignet. Ich hoffe, das beantwortet deine Frage. –

+0

Nochmals vielen Dank. Welche Vorteile hat directx11 oder12 gegenüber der CUDA-Programmierung? Können Sie beide in einer einzigen Anwendung verwenden? – dave