Reputation: 15489
Pretty much like the title says, does directx in any way use the CUDA libraries/extensions for nvidia cards under the hood?
Basically do the directx libraries, under the hood, are actually making calls to the CUDA cores via CUDA libraries?
Upvotes: 2
Views: 4104
Reputation: 469
The question is a legitimate one in my opinion.
DirectX is a framework (a bunch of libraries) that provides programming interfaces for graphics, sound, and other peripherals, mainly made for games. Direct3D, much like OpenGL, is the library that is responsible to communicate with the graphics card. I assume your question was directed at Direct3D.
When Direct3D is invoked, it uses the same multiprocessors that CUDA does, and even more components (e.g. rasterizers). However, Direct3D interfaces directly with the graphics card drivers (in this case, NVIDIA). So basically, both CUDA and Direct3D invoke the NVIDIA drivers, but in slightly different ways.
It is worth noting that pixel/vertex shaders, which are part of Direct3D/OpenGL, actually sparked the idea behind CUDA. Back in 2007, people were writing general purpose scientific code in pixel shaders.
P.S. DirectCompute is the closest relative to CUDA DirectX can offer, enabling cross-platform (i.e. non-NVIDIA) GPU development.
Upvotes: 11