From what I know, modern GPUs are still programmed with C++ exclusively. See CUDA [0] for Nvidia and ROCm [1] for AMD.<p>Why is this? Why Rust is not loved there?<p>[0] https://docs.nvidia.com/cuda/<p>[1] https://github.com/ROCm-Developer-Tools/HIP
>> Why is this? Why Rust is not loved there?<p>History and demand.<p>CUDA is about 15 years old. MPI and similar parallel computing APIs are even older.<p>C, C++, and Fortran have been the "goto" programming languages for parallel and scientific computing for decades.<p>Rust is a relative newcomer that does not have enough demand yet to mandate CUDA APIs. It probably will some day.<p>Another concern is the number of decades-mature libraries that are used in parallel computing domains. It seems much more likely that any Rust support will initially be Rust wrappers around C or C++ APIs rather than native Rust implementations.<p>Some projects for Rust on CUDA are in progress:<p><a href="https://github.com/Rust-GPU/Rust-CUDA">https://github.com/Rust-GPU/Rust-CUDA</a><p><a href="https://github.com/bheisler/RustaCUDA">https://github.com/bheisler/RustaCUDA</a>
GPU programming =/= CPU programming. GPUs don't have complex execution paths with branching, and the programs that run are "memory safe" in the sense of what Rust aims to improve.