Taming the power of C++ with AI
published at 01.04.2021 09:56 by Jens Weller
In January Bryce Adelstein Lelbach gave a talk about NDVIDIAS CUDASTL fork at my online C++ User Group. Shortly after this talk was published on YouTube I got contacted by a start up, seeking feedback on their ideas of accelerating C++ with help of GPUs and AI.
I was curious, and been in contact with the start up since then. Unfortunately, they're still in stealth mode for a while. So one of their motivations to contact Meeting C++ was in order to share some of the ideas anonymously with the C++ community and use the feedback to improve their product before leaving stealth mode.
At the core of this idea there is the accelerated program interface layer (APRIL), powered by the AI code. The AI learns through the data collected by the sanitizers, and then can through the interface layer create a feedback loop in guiding the sanitizer whats safe and whats not. You see, the sanitizer only looks at your code, while the compiled executable is also depending on the platform and other things. The idea is when a more information about what this code will actually do at runtime, it can be determinded if the sanitizer is correct.
Undefined behavior is a great example of this, until today its too risky to use this untapped resource. Thats why all of it gets flagged by UB Sanitizer. With the help of the accelerated program interface layer AI, one now can only eliminate the dangerous UB, and keep the UB that is actually improving the programs performance. The AI powered recursive interface leads to a better understanding of the transformation between code and resulting binary.
For libraries the start up plans to offer an approach, that is based on local packages build for each application and setting. These local packages would be transformed from a source library. There are still some challenges to be solved and it will be a while until the start up will go public with this. This technology is an exiting step forward to a more powerful C++. Maybe more of these plans will be revealed at Meeting C++ 2021!
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!