3 ms·
CUDA is 15 years old, but in terms of significant presence in supercomputers, it's just a generation or two in. For example, NERSC only made its first system th
by dotnet00 4y ago
CUDA is 15 years old, but in terms of significant presence in supercomputers, it's just a generation or two in. For example, NERSC only made its first system that's "GPU-first" available to all users two weeks ago, with the previous system (which was #5 in the world when commissioned in 2016) only having gotten some GPU nodes in 2020 to help smooth the transition.
This was what led to the hesitance from the people I worked with. They were unsure if in another generation or two they'd have to look at another large effort to support another new programming paradigm. There was also hesitance in relying on CUDA since it locks them into a vendor.
From an engineer's point of view, yeah, GPUs obviously aren't a fad, but a lot of this software is written by scientists, where the computer is simply a means of getting their result and not something they keep up with as they would with their own field and yet the software needs to remain relatively stable to be reliable for research. Thus anyone asking for a large modification of the code is going to be viewed with extreme skepticism.
For reference, I had to spend around 2 months of weekly meetings and presentations showing test results and discussing the risk/reward tradeoffs in detail to convince a group that a limited port of the code would be worth going ahead with and that CUDA was effectively the only reliable option for now. They've only gotten serious about a more in-depth port from seeing the large speedups without breaking compatibility which we managed to get after a few iterations.