Rake
Compiles a single data-parallel kernel to native machine code for multiple CPU SIMD widths, guaranteeing register-resident vectors or a compiler error.
Rake is a programming language and compiler for writing data-parallel kernels that target multiple CPU SIMD vector widths from a single source. It solves the problem of maintaining separate vectorized code for different CPU architectures by compiling the same kernel to native code for each target, with a guarantee that every vector value stays in a single SIMD register or compilation fails. It is aimed at software developers and engineering teams working on performance-critical compute workloads, particularly those using structure-of-arrays data layouts. The tool is delivered as an open-source compiler and language, with a focus on explicit machine-code guarantees and a compile-time choice of vector width.
Key features
- Single kernel for multiple SIMD widths
- Compile-time target selection
- Guaranteed register-resident vectors
- No silent scalar fallback
- No hidden calls or spills
- Explicit widen for narrow columns
- Structure-of-arrays columnar schema
- No social media activity detected
- No GTM activity detected
- Software developers
- Engineering teams