CUDA Driver vs Architecture vs Toolkit (aka SDK)
- > CUDA Driver vs Architecture vs Toolkit (aka SDK)
- Adding to an Array From Multiple Threads - Lock Free
- How to Structure a CUDA C++ Project
- Numbers to Know (GPU v CPU)
- GPU Architecture
- How does a graphic card actually draw stuff?
- there is a
CUDA toolkit (aka SDK)
, aCUDA driver
, and aCUDA Architecture
- all have a “version”
- a CUDA driver is the low level binary module that drives the GPU. A CUDA driver is capeable of telling the GPU to execute CUDA kernels.
- a cuda driver is backwards compatible (a newer driver will be able to run all the applications an older driver is able to run, plus more)
- you obviously use the CUDA toolkit (SDK) to develop your application
- when you “build” your application, you specify a version of the CUDA architecture you wanna target
- different graphic cards support a different version of the CUDA architecture. Newer graphic cards tend to support newer architecture versions.
- a newer architecture can run applications that were built for an older architecture (i.e. architectures are backward compatible)
- but if you target a certain architecture when you are building, only GPUs that support that architecture version (or later) will be able to run your application. So in other words, when you build for a certain architecture version, you are specifying a minimum version.
This whole article is just a summary lol