Hello CUDA community,
On April 7th (19:00 UTC+3), he talked about “Single-source C++ shaders for graphics and compute”.
Circle is a new compiler that rotates the C++ language from the runtime
onto the compile time axis. A meta keyword on declaration, expression
and control-flow statements causes that statement to execute at compile time, making the full language available for metaprogramming. The compiler includes many features that go beyond ISO C++, such as type introspection, reflection, user-defined attributes, extended slices,
pattern matching, boxed types, source injection and file embedding.
SPIR-V and DXIL targets allow single-source C++ programming of Vulkan
and D3D12 applications. By embedding GLSL into a C++ frontend, most
Circle/C++ language features are now available for shader programming,
including classes, templates, concepts, reflection and user-defined attributes. The goal of this project is to extend C++ in three the compile-time domain, new language features, and domain-specific targets.
Sean Baxter is an independent programmer working on the next-gen C++
compiler, Circle. He previously worked in the Earth Science directorate
at JPL, developed molecular dynamics simulations at DE Shaw Research,
and hacked on CUDA algorithms at NVIDIA Research.