Compiler Invariants & Silicon Rules
Enki lowers standard Rust functions into GPU compute pipelines by processing the LLVM bitcode generated by rustc.
However, physical graphics silicon lacks an operating system, dynamic memory allocators, virtual memory paging, and stack unwinding machinery. Consequently, certain language features that are standard on host CPU threads cannot physically execute on a GPU compute core.
This section covers the constraints enforced by the JIT compilation backend:
- Rejected Patterns (E0001 - E0010): Language constructs rejected during compilation (dynamic heap allocations, recursion, panic unwinding, dynamic dispatch).
- Divergent Control Flow (E0009): The physical mechanics of warp deadlocks and why non-uniform barriers are strictly forbidden.
- The Crash Flight Recorder (E9999): How the compiler isolates Internal Compiler Errors (ICE) into encrypted diagnostic tokens.