Skip to content
Home

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
Social posts
  • No social media activity detected
GTM channels
  • No GTM activity detected
ICP
  • Software developers
  • Engineering teams