Skip to content

Mojo/MAX authoring scaffold with emit-independent ISA contracts - #20

Closed
BlivionIaG wants to merge 2 commits into
masterfrom
cursor/mojo-max-scaffold-d0a4
Closed

BlivionIaG wants to merge 2 commits into
masterfrom
cursor/mojo-max-scaffold-d0a4

Conversation

@BlivionIaG

@BlivionIaG BlivionIaG commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

hippihx stays a plan/bind/run zoo. Mojo/MAX is the authoring surface. It is not dest-ready.

Dest produce for vllm-rdna stays hipcc 7.14 / hipModuleLoad / libamdhip64 until a documented HIP re-emit soak or a documented MAX-serve soak exists. Neither soak exists here. This tree does not edit opengfx1030/vllm-rdna or rdna_extras.

ABI gap

Dest produce Mojo authoring
Compiler ROCm 7.14 hipcc, one --offload-arch Mojo/MAX (not invoked by host tests)
Loader hipModuleLoad from libamdhip64 MAX custom_extensions
Symbols hippihx_v1_plan / hippihx_v1_run, ABI rev 3 @extensibility.register execute(OutputTensor, …)
Object libhippihx_<arch>.a not a hipcc AMDGPU code object

A Mojo execute registration does not export hippihx_v1_*. MOJO_PRODUCE, MOJO_V1_CONSUME, and MOJO_DEST_READY are false. run on backend="mojo" raises MojoNotProduce.

ISA contracts stay emit-independent (hippihx.isa, include/hippihx/isa.hpp, mojo/isa/contracts.mojo): gfx1030 packed DOT (fdot2 / sdot4), no WMMA gate, LDS 32×4 with LDS_PAD=8, wave32. DOT objects stay off gfx900/906/1013.

Family binds kept in the lift

FamilyHook.tensors records the views a Mojo lift must still bind:

  • qwen.qsa — groups (selection). q/k/v of the selected set stay on fa_fdot2
  • qwen.gdn — mixed_qkv, a, b, out (fp16); state (fp16 or fp32)
  • qwen.ple — sequence.causal_conv input / out / state (fp16 or bf16, scalar FMA)
  • moe.routed vs moe.leftover_bf16 — gate/up/down versus dense bf16 (expert_path)
  • hybrid.heap — caller-owned GDN + PLE/conv state; bind only views

attention.kda_scan (GLM KDA) and attention.dsa_nope (DeepSeek transplant) stay catalog stubs. No new brief, hook, or Mojo registration.

Docs: docs/MOJO.md, docs/ISA.md.

Tests

pytest host suite. Host-stub CMake smoke for gfx1030 (DOT on) and gfx900 (DOT omitted). The Mojo compiler is not run, and that is not a dest soak.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 27, 2026 13:59
…endent.

Mojo plan/bind is available, but run refuses produce until a winner is
re-emitted with hipcc 7.14 (hipModuleLoad) or an explicit MAX serve path
is chosen. gfx1030 packed DOT stays off gfx900/906/1013 mad_mix objects.

Co-authored-by: BlivionIaG <BlivionIaG@users.noreply.github.com>
Mojo stays not dest-ready: vllm-rdna produce remains hipcc 7.14 /
hipModuleLoad / libamdhip64 until a documented HIP re-emit or MAX-serve
soak exists. Qwen QSA/GDN/PLE, routed versus leftover BF16, and hybrid
heaps keep their bind views. GLM KDA and the DeepSeek transplant get no
new brief.

Co-authored-by: BlivionIaG <BlivionIaG@users.noreply.github.com>
@cursor

cursor Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Superseded by #22. The Mojo/MAX authoring scaffold is folded there intact, together with the live tip pin. Closing this draft so there is one scaffold.

@BlivionIaG BlivionIaG closed this Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants