The way I see it, the advantages are not so much from the programming language itself, but rather from the tooling and ecosystem around it.
Rust has a very rich ecosystem of libraries for various low level things, many of which were designed to be compatible with things like microcontrollers / bare metal systems and not require the Rust standard library, and could be useful for GPU code, too. Having the same language for both CPU and GPU, and access to the same tooling/ecosystem, means that GPU developers will be able to take advantage of such libraries if they want to.
It also makes GPU programming more approachable, and generally more powerful. For example, given that your shaders are now built using the same Rust tooling, you can have shaders whose source code is neatly organized in multiple files, etc... just like normal software projects.
Also, even within the same project, one could make some shared common code (like, say, some number crunching helper functions, or whatever) and use them on both CPU and GPU.
Rust has a very rich ecosystem of libraries for various low level things, many of which were designed to be compatible with things like microcontrollers / bare metal systems and not require the Rust standard library, and could be useful for GPU code, too. Having the same language for both CPU and GPU, and access to the same tooling/ecosystem, means that GPU developers will be able to take advantage of such libraries if they want to.
It also makes GPU programming more approachable, and generally more powerful. For example, given that your shaders are now built using the same Rust tooling, you can have shaders whose source code is neatly organized in multiple files, etc... just like normal software projects.
Also, even within the same project, one could make some shared common code (like, say, some number crunching helper functions, or whatever) and use them on both CPU and GPU.
Comment