Explore a comprehensive conference talk on implementing symbolic calculus tools in C++23 for high-performance computing. Learn how to manipulate symbolic mathematical formulas directly in C++, compute symbolic derivatives and integrals at compile-time, and leverage these techniques to speed up linear algebra computations. Dive into a new approach to expression templates, discover stateless formulas, and understand how to combine Class Template Argument Deduction with unevaluated lambdas as template parameters. Examine implementation strategies for optimizing both compile-time and runtime performance, illustrated with examples and corresponding assembly code. Gain insights into combining this approach with existing and upcoming linear algebra components of the C++ standard library. Understand the overall implementation strategy and techniques necessary to bring symbolic calculus into high-performance code, making it accessible for practical application in scientific computing.
Overview
Syllabus
Symbolic Calculus for High-performance Computing From Scratch Using C++23 - Vincent Reverdy - CppCon
Taught by
CppCon