# svod-runtime
Kernel execution interface bridging codegen to hardware.
## Example
```rust
use svod_runtime::CompiledKernel;
let kernel = compile(code)?;
kernel.execute(&[buf_a.ptr(), buf_b.ptr(), buf_out.ptr()])?;
```
## Backends
| **Clang** (default) | Compiles C via `clang -c`, loads via JIT ELF loader | always |
| **LLVM JIT** | Compiles LLVM IR via `clang -x ir`, loads via JIT ELF loader | always |
| **MLIR** | Lowers MLIR dialects to LLVM, JIT via MLIR ExecutionEngine | `mlir` |
Select at runtime: `SVOD_CPU_BACKEND=clang|llvm|mlir`
**Planned:**
- CUDA kernel execution
- Metal kernel execution
## Testing
```bash
cargo test -p svod-runtime
```