8000 GitHub - luyanaa/libmnrt: libmnrt: MN-Core runtime for Triton/TileLang -> MLIR -> LLVM -> PFN injection · GitHub
[go: up one dir, main page]

Skip to content
luyanaaPublic

About

libmnrt: MN-Core runtime for Triton/TileLang -> MLIR -> LLVM -> PFN injection

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

libmnrt (MN-Core Runtime stable C ABI v1, emulator provider)

Build: make && ./tests/selftest Env: MNRT_SDE / MNRT_ASM / MNRT_EMU override tool paths. v1: synchronous enqueue; .vsm text input; bindings recorded but not relocated. Encoder/program tools (pure python3, no vendor toolchain): python3 encoder/block_encoder.py E0 selftest python3 encoder/regress_blocks.py vendor dump -> 128 B blocks python3 encoder/regress_roundtrip.py vendor dump -> Program, byte-identical python3 encoder/vsm2prog.py --report FILE.vsm .vsm -> Program coverage report python3 encoder/vsm2prog.py -o k.bin FILE.vsm .vsm -> mncore::Program (fail-closed)

Own-encoder execution path (G3)

MNRT_RENDER=1 makes mnrt_enqueue() render .asm with encoder/vsm2asm.py and the learned shape table (encoder/asm_slots.json) instead of calling assemble3; MNRT_ROOT names the checkout. Verified end to end:

MNRT_RENDER=1 MNRT_ROOT=$HOME/libmnrt MNRT_ASM=/bin/false ./t_g3b
load 0
enqueue 0

i.e. a program whose instructions were encoded by this repo executes on the emulator with the vendor assembler provably absent. Any instruction shape the table has not learned fails closed.

About

libmnrt: MN-Core runtime for Triton/TileLang -> MLIR -> LLVM -> PFN injection

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

0