Expand Carbon's scope to be an accelerated programming language #3551
LouChiSoft
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The software world is seeing more and more applications move to "hardware accelerated" programming, which these days is generally just more software on a different piece of hardware in a system e.g. a compute shader on a GPU. I wouldn't be surprised if in the future we get something similar for the new neural processing hardware that CPUs are other SoCs are getting now where you write some kind of ML code that is explicity ran on the NPU. Not only that there are more pieces of hardware that when given more knowledge about the hardware can be utilised in more efficient ways, e.g. SSD to GPU memory file transers.
What I am proposing is something similar to Khronos and SPIRV but on a much larger scale and without the need to introduce an additional shader language. It would build around the standard library and designed in a way that it can be expanded as new kinds of accelerators are introduced. Right now it could be composed of:
All of the code would then be compiled down to a binary of host code and a carbon-lang designed bytecode that Carbon could potentially partner with device vendors to support. Linux could even be a great place to start as the nature of AMDs and Intel's open source mesa drivers could be used to demonstrate such a feature.
This wouldn't be a "soon" feature or even a 1.0 feature necessarily. But it would be really nice to have a single language that could actually program the whole PC and is designed to do so from an early stage of development so that it doesn't feel like an after thought of second class feature. It could also help Carbon put itself above other languages such as C++ or Rust for high performance programming.
Beta Was this translation helpful? Give feedback.
All reactions