▲ | pornel 5 days ago | |
There are two CUDAs – a hardware architecture, and a software stack for it. The software is proprietary, and easy to ignore if you don't plan to write low-level optimizations for NVIDIA. However, the hardware architecture is worth knowing. All GPUs work roughly the same way (especially on the compute side), and the CUDA architecture is still fundamentally the same as it was in 2007 (just with more of everything). It dictates how shader languages and GPU abstractions work, regardless of whether you're using proprietary or open implementations. It's very helpful to understand peculiarities of thread scheduling, warps, different levels of private/shared memory, etc. There's a ridiculous amount of computing power available if you can make your algorithms fit the execution model. |