Oh interesting. I remember that Folding@Home way back then (ca 2009) was already testing protein folding on GPUs and it took advantage of CUDA. I never really thought much of it other than how cool it was that my mid-tier Nvidia graphics card could be used for something else other than games, but this explains how this ended up happening.
(Bit of a tangent, but that project was very influential in getting me interested in computer science because, wow, how cool is it that we can use GPUs to do insane parallel computing. So I guess, very very indirectly, Nvidia had a part in me being a software engineer today.)
By 2007/2008 there was a trend in HPC research called GPGPU. This involved havky techniques to get the shaders to do the computations you wanted.
CUDA started appearing in 2008 with a framework (compiler, debugger) to do GPGPU in a proper way. It got the monopoly. They’ve been benefiting from first movers advantage ever since.
GPGPU was a thing well before that! In 2004, it was ready covered in a few chapters of GPU Gems 1, increasing to 18 chapters of the 2005 GPU Gems 2, which including an FFT implementation.
(Bit of a tangent, but that project was very influential in getting me interested in computer science because, wow, how cool is it that we can use GPUs to do insane parallel computing. So I guess, very very indirectly, Nvidia had a part in me being a software engineer today.)