Module Sarek_codegen

module Sarek_ir_cuda : sig ... end
module Sarek_ir_cuda_coopmat : sig ... end

Cooperative matrix (SCoopmat) for the CUDA-C generator, which HIP shares.

module Sarek_ir_cuda_coopmat_preamble : sig ... end

The CUDA/HIP cooperative-matrix helpers, emitted before extern "C" when the kernel has a cooperative-matrix statement (Sarek_ir_cuda_coopmat).

module Sarek_ir_f16_narrowing : sig ... end

Which f32 -> f16 narrowings need sarek_f32_barrier (specs/f16-narrowing-barrier.md).

module Sarek_ir_for_bound : sig ... end

Evaluate a for upper bound once, before the first iteration.

module Sarek_ir_glsl : sig ... end
module Sarek_ir_inline_vec : sig ... end
module Sarek_ir_int_range : sig ... end

Interval arithmetic on int32 values (specs/f16-narrowing-barrier.md §2.1). A range contains every value an int32 expression can take; an operation that may wrap gives full.

module Sarek_ir_intrinsic_dispatch : sig ... end

Shared, table-driven EIntrinsic dispatcher for the source backends (GLSL/Vulkan, WGSL/WebGPU, Metal, CUDA, OpenCL).

module Sarek_ir_metal : sig ... end
module Sarek_ir_metal_coopmat : sig ... end

Cooperative matrix (SCoopmat) for the Metal generator, lowered to MSL simdgroup_matrix (specs/coopmat-metal-simdgroup.md).

module Sarek_ir_opencl : sig ... end
module Sarek_ir_ptx : sig ... end
module Sarek_ir_ptx_expr : sig ... end

PTX expression emitter.

module Sarek_ir_ptx_kernel : sig ... end

PTX kernel emitter: parameter/local declaration, register-block output, PTX file header, and top-level generate entry points.

module Sarek_ir_ptx_mem : sig ... end

PTX array load/store helpers.

module Sarek_ir_ptx_stmt : sig ... end

PTX statement emitter.

module Sarek_ir_ptx_types : sig ... end

PTX codegen shared types: register allocator, environment, error helpers, and buffer emit primitives.

module Sarek_ir_softmath : sig ... end

Software f64 transcendentals — backend-shared (PTX and GLSL/Vulkan).

module Sarek_ir_unroll : sig ... end

Automatic unroll hints for small constant-trip for loops.

module Sarek_ir_warp_text : sig ... end

Source-text lowering of the warp operations, shared by the source backends (CUDA C / HIP, OpenCL C, GLSL, MSL, WGSL).

module Sarek_ir_wgsl : sig ... end
module Sarek_wgsl_abi : sig ... end

WGSL kernel ABI descriptor.