# Enigma ## Docs - [Benchmark & Testing](https://klyne-research.mintlify.app/api-reference/benchmark-and-testing.md): Utilities for timing kernels and writing tests. - [enigma.compile()](https://klyne-research.mintlify.app/api-reference/compile.md): Full reference for the enigma.compile() function and the CompiledKernel it returns. - [Intrinsics](https://klyne-research.mintlify.app/api-reference/intrinsics.md): Vector geometry, pack/unpack, and type-casting intrinsics callable inside @enigma.kernel bodies. - [Kernel Decorators & Grid Queries](https://klyne-research.mintlify.app/api-reference/kernel-decorators.md): Reference for @enigma.kernel, @enigma.jit, and the thread/grid query intrinsics available inside kernel bodies. - [Layout Functions](https://klyne-research.mintlify.app/api-reference/layout-functions.md): Complete reference for all layout creation and transformation functions. - [Matrix Operations](https://klyne-research.mintlify.app/api-reference/matrix-ops.md): Hardware-accelerated 8x8 simdgroup matrix multiply-accumulate, plus the regular Metal matrix-type operations. - [MetalRuntime](https://klyne-research.mintlify.app/api-reference/runtime.md): Full reference for MetalRuntime, PreparedKernel, and DeviceCapabilities. - [Threadgroup Memory & Synchronization](https://klyne-research.mintlify.app/api-reference/threadgroup-and-sync.md): Barriers, threadgroup shared memory allocation, and the buffer/threadgroup API surface. - [Architecture](https://klyne-research.mintlify.app/concepts/architecture.md): How Enigma transforms Python kernel definitions into Metal GPU binaries. - [Execution Model](https://klyne-research.mintlify.app/concepts/execution-model.md): How Enigma maps kernel launches to Metal grid geometry, threadgroups, and thread indices. - [Memory Model](https://klyne-research.mintlify.app/concepts/memory-model.md): Address spaces, shared memory, and device capability checks in Enigma. - [Common Errors](https://klyne-research.mintlify.app/debugging/common-errors.md): Typical failure modes with concrete diagnostic steps. - [Inspection and Tracing](https://klyne-research.mintlify.app/debugging/inspection.md): How to inspect every stage of the Enigma pipeline to diagnose compilation and correctness issues. - [Parallel Reduction](https://klyne-research.mintlify.app/examples/parallel-reduction.md): Sum all elements of a float32 array using SIMD group reductions and shared memory. - [Tiled GEMM](https://klyne-research.mintlify.app/examples/tiled-gemm.md): Matrix multiply using layout algebra and the @enigma.jit tiling pattern. - [Vector Add](https://klyne-research.mintlify.app/examples/vector-add.md): The simplest end-to-end Enigma kernel — elementwise addition of two float32 arrays. - [Compile-Only Workflow](https://klyne-research.mintlify.app/getting-started/compile-only-workflow.md): Iterate on kernel codegen and source inspection without requiring a Metal device. - [First Kernel](https://klyne-research.mintlify.app/getting-started/first-kernel.md): Write, compile, and dispatch a minimal Enigma kernel end to end. - [Getting Started](https://klyne-research.mintlify.app/getting-started/index.md): Set up Enigma and run your first GPU kernel on Apple Metal. - [Installation](https://klyne-research.mintlify.app/getting-started/installation.md): Install Enigma and verify the Metal toolchain before running your first kernel. - [Enigma](https://klyne-research.mintlify.app/index.md): GPU compute for Apple Metal - [Async Copy (Experimental)](https://klyne-research.mintlify.app/programming-guide/async-copy.md): AIR-backed async device-threadgroup copy via simdgroup intrinsics. - [Atomic Operations](https://klyne-research.mintlify.app/programming-guide/atomics.md): Atomic load, store, and RMW operations with memory ordering semantics. - [Control Flow](https://klyne-research.mintlify.app/programming-guide/control-flow.md): GPU-side loops, conditionals, and predicated memory access. - [Data Types](https://klyne-research.mintlify.app/programming-guide/data-types.md): All scalar types in Enigma with their Metal and numpy equivalents. - [High-Level Ops](https://klyne-research.mintlify.app/programming-guide/high-level-ops.md): GEMM, quantization helpers, and reusable compute primitives. - [Kernels and JIT](https://klyne-research.mintlify.app/programming-guide/kernels-and-jit.md): How @enigma.kernel and @enigma.jit work, and when to use each. - [Layout Algebra](https://klyne-research.mintlify.app/programming-guide/layout-algebra.md): CuTe-inspired Layout type and tiling operations for writing efficient tiled kernels. - [Operations](https://klyne-research.mintlify.app/programming-guide/operations.md): Arithmetic, math, vector, comparison, and selection operations available in kernel bodies. - [Registers, Copy & Pipeline](https://klyne-research.mintlify.app/programming-guide/register-and-pipeline.md): Register tensors, explicit data movement, and software pipelining. - [SIMD Group Operations](https://klyne-research.mintlify.app/programming-guide/simd-group-ops.md): Reductions, prefix scans, and shuffle operations across a SIMD group (32 threads). - [Swizzle](https://klyne-research.mintlify.app/programming-guide/swizzle.md): Bank-conflict-free shared memory access via XOR address remapping. - [Changelog](https://klyne-research.mintlify.app/release-notes/index.md): New features, improvements, and fixes to Enigma. ## OpenAPI Specs - [openapi](https://klyne-research.mintlify.app/api-reference/openapi.json)