Skip to content

[BREAKING][ops, model] refactor: replace OpSlot with VeomniOp - #1142

Merged
Coach257 merged 88 commits into
ByteDance-Seed:mainfrom
Zx55:czr/kernel-registry-refactor
Oct 18, 2026
Merged

Coach257 merged 88 commits into
ByteDance-Seed:mainfrom
Zx55:czr/kernel-registry-refactor

Conversation

@Zx55

@Zx55 Zx55 commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Merge stack

Ops PRs that land before this one, because they change kernels this refactor moves or add kernels on the old OpSlot API. Every other open ops PR rebases onto VeomniOp after this merges, and carries a note pointing here.

Already on main — port into this branch on the next rebase:

Deliberately not in this stack, rebasing onto VeomniOp afterwards instead: #1223 (the sigmoid-vs-npu_swiglu split is already ported from #1309; the remaining device/dtype and invalid-gate contracts edit the deleted npu_rms_norm_gated.py), #966 (910B4-1 BV=64 profile — the root cause has no hardware evidence yet, and it edits files this PR deletes), #1306 (merged-MoE backward activation lifetime — a memory optimization, not a correctness fix), #1199 (expert-parallel numerics — too large to sit in front of the refactor; it changes routing-weight arithmetic for every Triton MoE user), #1200 (compiled-training precision — two of its three code changes are already resolved here, see the note on that PR).

Why

VeOmni previously selected optimized operations through several independent mechanisms, including OpSlot, kernel factories, global function replacement, loss mapping mutation, and attention-specific registries.

This made implementation selection difficult to reason about and prevented different model instances from safely selecting different implementations.

This PR consolidates tensor-level operations under veomni.ops. Models hold instance-local VeomniOp handles. Model-specific argument processing and loss policy remain in veomni.models.

What does this PR do?

The refactor creates one path from implementation registration to instance-local model execution:

flowchart TB
    subgraph Registration["1. Operation registration"]
        direction LR
        Raw["Raw forward/backward pair"]
        Opaque["Opaque eager or vendor wrapper"]
        Register["register_op(...)"]
        Entry["OpEntry<br/>wrapper + optional raw pair"]
        Registry["OP_REGISTRY<br/>(op, variant, implementation, device)"]
        Raw --> Register
        Opaque --> Register
        Register --> Entry
        Entry --> Registry
    end

    subgraph Runtime["2. Model construction and ordinary execution"]
        direction LR
        YAML["model.ops_implementation"]
        Config["OpsImplementationConfig"]
        Model["Model __init__"]
        Handle["VeomniOp(op, variant, impl)"]
        Resolve["Resolve row and<br/>check hardware"]
        Call["entry.wrapper(...)"]
        Kernel["Selected implementation<br/>PyTorch / Liger / Triton / NPU / MLU"]
        YAML --> Config
        Config --> Model
        Model --> Handle
        Handle --> Resolve
        Registry --> Resolve
        Resolve --> Call
        Call --> Kernel
    end

    subgraph Compound["3. Compound operation execution"]
        direction LR
        Outer["Outer raw forward/backward"]
        Inner["resolve_inner_op(...)"]
        RawCall["Call inner raw forward/backward<br/>without nesting an autograd wrapper"]
        State["Flatten and restore SavedState"]
        Outer --> Inner
        Registry --> Inner
        Inner --> RawCall
        RawCall --> State
    end
Loading

The important properties are:

  • One source of truth: tensor-level implementations are registered in OP_REGISTRY, including an explicit eager row.
  • Instance-local selection: each model constructs its own VeomniOp; constructing one model no longer changes another model's implementation.
  • Two registration forms: an implementation may provide either a raw forward/backward pair or an opaque eager/vendor wrapper.
  • Composable autograd: compound operations call inner raw pairs directly and preserve their saved state without nesting Function.apply.
  • Clear ownership boundary: tensor math lives in veomni.ops; model-specific input adaptation and loss policy live in veomni.models.

Process-wide integration is limited to installation work such as registering VeOmni attention names with Transformers. Attention masks, batch-invariant patches, and model-side loss policy are not registered operation rows.

HF-interface families bind attention from config._attn_implementation. Families that are not on that path (Wan, MiniMax, Flux, Qwen Image, LTX) define no model-local eager_attention_forward, so they bind through resolve_op_impl("attn_implementation", eager_as="veomni_sdpa").

The complete operator catalog and extension guide are documented in veomni/ops/README.md.

Authoring, registration, and modeling usage of VeomniOp / OP_REGISTRY are documented in veomni/ops/README.md and docs/design/op_selection.md.

Config migration

model.ops_implementation.* keeps its field names. Values renamed since main still parse for one transition window. OpsImplementationConfig maps them to the current name and logs a deprecation warning that names the replacement. The table is also in docs/usage/arguments.md.

Field Value on main Resolves to
attn_implementation veomni_*_with_sp (FA2/FA3/FA4, Hub forms, Flex, Magi) The same name without _with_sp. Ulysses now lives inside the adapter.
moe_implementation fused The name main resolved it to on that host: fused_quack (GPU), fused_npu (NPU), fused_mlu (MLU with Apex) or fused_triton (MLU without Apex).
moe_implementation fused_mlu_triton fused_triton
cross_entropy_loss_implementation npu chunk_loss. The main entry was an alias of chunk_loss, not a third-party NPU kernel.
rms_norm_implementation, rotary_pos_emb_implementation, rotary_pos_emb_vision_implementation, rms_norm_gated_implementation npu torch_npu
causal_conv1d_implementation, chunk_gated_delta_rule_implementation npu triton, the vendored Triton-Ascend kernel
chunk_gated_delta_rule_implementation npu_ascendc fla_npu

rms_norm_implementation is shared by every RMSNorm variant, so one value is also mapped per variant. unweighted (Flux, LTX-2.3, DeepSeek-V4) has no Ascend kernel, so torch_npu and the old npu both resolve to eager for that variant, because the main row of that name was PyTorch math. Consumers pass resolve_op_impl(field, variant=...), and the mapping is logged once.

rms_norm_implementation='qwen3_5' is rejected at parse time. qwen3_5 was the RMSNorm variant name (now offset), not an implementation value. Other unknown values fail at model build, and the error lists the registered implementations.

Host defaults

The seven general-purpose fields (moe, cross_entropy_loss, rms_norm, swiglu_mlp, rotary_pos_emb, rotary_pos_emb_vision, load_balancing_loss) now default to None, and OpsImplementationConfig fills an unset field with the host default. The filled values are the same as main on GPU, NPU and MLU. The table is in docs/usage/arguments.md.

main treated a value equal to the GPU dataclass default as unset and rewrote it on NPU and MLU, even when the YAML set it explicitly. Explicit values are now never rewritten:

  • On NPU, an explicit GPU-only value (liger_kernel, fused_triton, or load_balancing_loss_implementation: triton) raises at config validation instead of silently selecting the NPU kernel. GPU YAMLs that pin these keys must drop or replace them for NPU runs
  • On NPU, an explicit rotary_pos_emb_vision_implementation: eager stays eager. main rewrote it to npu
  • On MLU, an explicit liger_kernel is kept and fails at model build, where main rewrote it to eager. An explicit fused_triton MoE stays fused_triton even with Apex, where main switched it to fused_mlu

Operator surface differences from main

Except for the differences below, the refactored operations are intended to preserve the tensor contracts, numerical behavior, gradients, and hardware support of main. Moving an existing implementation into the new registry is not considered a behavior change.

Area Difference from main Behavior change
RMSNorm unweighted No Ascend row is registered. rms_norm_implementation='torch_npu' (or the old npu) resolves to eager for this variant, because the previous NPU-labelled path was PyTorch math and did not call a distinct torch_npu kernel. No numerical change; replaces a hardware alias with a variant-scoped config alias.
RMSNorm deepseek_v4 New variant for DeepSeek-V4's fp32 affine scale, with rows deepseek_v4/{eager,liger_kernel,torch_npu}. main routed V4 through standard. The torch_npu row calls the same torch_npu.npu_rms_norm kernel that main reached through standard. Eager keeps V4's fp32-affine math. The NPU kernel is unchanged.
RMSNorm offset The qwen3_5 variant is renamed to offset. Rows are offset/{eager,liger_kernel,torch_npu}. Consumers are Qwen3.5, Qwen3.5-MoE, Gemma3, and Qwen4-Exp. Naming only; offset-1 Gemma-style math is unchanged.
RMSNorm group_size Every RMSNorm variant accepts optional group_size. Fused weighted rows delegate grouped calls to eager. Only Qwen4-Exp passes a non-None value (hc_norm, norm_key, norm_query, norm_conv). Contract extension. Qwen4 grouped math matches main's local reshape; other callers omit it.
Cross-entropy Exposes standard/{eager,chunk_loss,liger_kernel}. The previous npu entry was an alias of chunk_loss. npu now parses as a deprecated config alias of chunk_loss on any host. Causal and sequence-classification policy remains model-side. No kernel-math change; removes a registry alias and separates model policy.
Vision RoPE There is no separate rope_vision family. Rank-3 vision and text full RoPE both use rope/full. rotary_pos_emb_vision_implementation remains temporarily as an independent configuration choice. No numerical change; consolidates equivalent tensor operations.
Gated RMSNorm rms_norm_gated/standard/{eager,fla,torch_npu} accept activation="sigmoid", which Qwen4-Exp selects through output_gate_type. torch_npu fuses SiLU with npu_swiglu and uses the eager fp32 gate multiply for sigmoid. Contract extension. SiLU callers are unchanged.
Qwen4-Exp QSA main dispatches qsa_attention_implementation inside the modeling eager_attention_forward. Here it is the qsa_attention/standard/{eager,tilelang} op, which takes the compact global-index selection. The indexer and attention still compute the selection and run the Ulysses exchange in modeling. tilelang raises on an attention mask and falls back to eager with a warning for nonzero dropout, as on main. The non-QSA eager fallback in eager_attention_forward is gone because the vision tower binds its own attention op. Same kernels and numerics. Qwen4-Exp RoPE now goes through rope/partial, so the GPU default liger_kernel applies where main used the HF eager function.
Causal Conv1D Public default is activation="silu", matching the model-path normal operation. The previous default was None. Default-only; an explicit activation still wins.
Ascend implementation names main's npu rows are renamed after what they call: torch_npu (RMSNorm, RoPE, gated RMSNorm) and triton (causal Conv1D, chunk gated delta rule). npu_ascendc becomes fla_npu. Naming only. Old values parse as deprecated aliases.
DeepSeek-V4 on Ascend main's NPU patch_gen calls the CANN Lightning Indexer, sparse FlashMLA and mHC kernels inside modeling code. Here they are cann rows of dsa_indexer, dsa_attention and mhc with the same structured contract as the GPU rows. The attention row converts global top-k indices to the segment-local indices CANN TND expects. mhc/head/cann is the eager math, as on main, since CANN has no head kernel. main's unreferenced npu_sparse_flash_mla_with_indexer_loss.py is not ported. Same kernels and arguments as main. attention_mask is still ignored, and calls without compressed rows still fall back to eager. The adapters no longer pre-check dtype or shape limits (for example the mHC bf16 check) and leave them to the kernel.
MoE implementation names Registered names use the same fused_triton, fused_quack, fused_npu, and fused_mlu values exposed by configuration. Naming only; fused implementations are unchanged.
Attention adapters VeOmni names drop _with_sp: veomni_flash_attention_*, veomni_flex_attention, veomni_magi_attention. Naming only.
SDPA packed metadata sdpa is rewritten to veomni_sdpa. Packed/varlen metadata is dropped when it describes at most one segment per row or a 3-D/4-D mask isolates the segments. packed_causal_mask (and sliding_window_mask with cu_seqlens) builds a dense block-diagonal mask for SDPA. EFFICIENT/MATH backends are pinned only for masked calls. Several packed samples in one row without an isolating mask now raise. main ignored the metadata and attended across samples. Masked forward matches HF sdpa bitwise. Backward is not bitwise where HF's default dispatch picks another backend (cuDNN on H20, up to 3.9e-3 on tiny bf16 models).
eager in non-HF families Wan, Flux, Qwen Image, LTX, and MiniMax resolve eager to veomni_sdpa, and use veomni_sdpa as the masked fallback. Same attention math through SDPA; not bitwise equal to main's eager path.

Validation

The ops suite covers registry contracts, public signatures, forward and backward parity, hardware requirements, and optional dependency handling. The models suite covers construction, instance-local selection, family parity, and model-facing operator integration.

Trainer composition, ModelArguments path fallback, and SP ReduceLoss live with their owners rather than tests/models.

pytest tests/ops tests/models tests/arguments \
  tests/trainer/test_trainer_model_runtime.py \
  tests/trainer/test_channel_loss_callback.py \
  tests/distributed/test_reduce_loss.py \
  tests/lora/test_qwen3_5_moe_lora.py \
  tests/lora/test_dense_mlp_lora.py -q
make quality
patchgen --check

Latest local GPU result on 8× H20 for pytest tests/ops tests/models tests/lora tests/arguments, before the four fp32 loader cases were added to the oracle:

1862 passed, 73 skipped

make check-patchgen and the pre-commit hooks pass.

For the 53d5383 merge of #1197 / #970 / #1293 / #1300, the local 8× H20 results are as follows. The NPU paths of #970 and the Qwen4-Exp NPU generated file wait for CI.

  • CPU: pytest tests/ops tests/arguments tests/models tests/special_sanity tests/tools, plus the SeedOmni HF-layout and FLOPs tests, gives 1723 passed, 454 skipped
  • GPU: tests/ops/qsa_attention and tests/ops/gated_delta_rule give 48 passed, with NPU/MLU-only skips
  • GPU: tests/parallel/ulysses/test_qwen4_exp_ulysses.py on 4 GPUs gives 54 passed, including SP=4
  • GPU: test_qwen4_exp_training_smoke (SP=2, EP=2, PLE=2, qsa_attention_implementation=tilelang) passes

51d3898 merges #1279, the SeedOmni offline-cache workflow, which changes no op code. Only import paths and hf_layout.md anchors needed resolving.

  • CPU: the suites above plus tests/seed_omni and tests/checkpoints/test_{checkpoint_callback,dcp_checkpointer}.py give 2260 passed, 456 skipped, 4 failed
  • The 4 failures are test_dcp_checkpointer.py cases that call torch.cpu.empty_cache. They fail the same way on main with GPUs hidden

b60b81176 merges #1307 / #1309.

  • CPU: pytest tests/ops/gated_delta_rule/test_gated_delta_rule.py tests/arguments/test_ops_implementation_aliases.py, with the NPU and FLA cases deselected, gives 31 passed, 3 skipped. The skips are the new NPU sigmoid and CPU-cu_seqlens cases
  • make commit passed

e94f4950e sizes the NPU causal_conv1d parity case to the kernel tile (D=256). The forward without initial_state tiles the channel axis at 256. That case skips locally because this host has no NPU.

4b21b4c6d merges #1311.

  • make commit passed
  • The resolved SP/CP tests compile and pass ruff. GPU parity was not re-run

4140f586c merges #1264 / #1265.

  • make commit passed
  • The new short-segment case skips locally because this host has no NPU

Usage

Models construct an operation handle once and call it directly:

from veomni.ops import VeomniOp
from veomni.ops.config import resolve_op_impl


self.veomni_rms_norm = VeomniOp(
    "rms_norm",
    "standard",
    resolve_op_impl("rms_norm_implementation"),
)

hidden_states = self.veomni_rms_norm(
    hidden_states,
    self.weight,
    eps=self.variance_epsilon,
)

The exact registered and currently available implementations can be inspected through the registry:

from veomni.ops import OP_REGISTRY


OP_REGISTRY.list_registered("rms_norm", "standard")
OP_REGISTRY.list_available("rms_norm", "standard")
OP_REGISTRY.list_entries("rms_norm", "standard")

@coderabbitai

coderabbitai Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 747 files, which is 447 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Repository: ByteDance-Seed/VeOmni/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8bf1c4b7-b7f7-43f1-873f-945ffd9e59c6
📥 Commits

Reviewing files that changed from the base of the PR and between 607b2af and d36a89f.

⛔ Files ignored due to path filters: 64
  • uv.lock is excluded by !**/*.lock, !uv.lock
  • veomni/models/transformers/deepseek_v3/generated/patched_modeling_deepseek_v3_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v3/generated/patched_modeling_deepseek_v3_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v3/generated/patched_modeling_deepseek_v3_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v3/generated/patched_modeling_deepseek_v3_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v4/generated/__init__.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v4/generated/patched_modeling_deepseek_v4_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v4/generated/patched_modeling_deepseek_v4_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v4/generated/patched_modeling_deepseek_v4_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/deepseek_v4/generated/patched_modeling_deepseek_v4_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/gemma3/generated/patched_modeling_gemma3_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/gemma3/generated/patched_modeling_gemma3_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/glm_moe_dsa/generated/patched_modeling_glm_moe_dsa_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/glm_moe_dsa/generated/patched_modeling_glm_moe_dsa_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/glm_moe_dsa/generated/patched_modeling_glm_moe_dsa_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/glm_moe_dsa/generated/patched_modeling_glm_moe_dsa_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/gpt_oss/generated/patched_modeling_gpt_oss_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/gpt_oss/generated/patched_modeling_gpt_oss_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/llama/generated/patched_modeling_llama_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/llama/generated/patched_modeling_llama_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2/generated/patched_modeling_qwen2_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2/generated/patched_modeling_qwen2_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_5_omni/generated/patched_modeling_qwen2_5_omni_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_5_omni/generated/patched_modeling_qwen2_5_omni_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_5vl/generated/patched_modeling_qwen2_5_vl_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_5vl/generated/patched_modeling_qwen2_5_vl_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_vl/generated/patched_modeling_qwen2_vl_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen2_vl/generated/patched_modeling_qwen2_vl_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3/generated/patched_modeling_qwen3_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3/generated/patched_modeling_qwen3_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3/generated/patched_modeling_qwen3_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3/generated/patched_modeling_qwen3_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5/generated/patched_modeling_qwen3_5_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5/generated/patched_modeling_qwen3_5_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5/generated/patched_modeling_qwen3_5_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5/generated/patched_modeling_qwen3_5_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5_moe/generated/patched_modeling_qwen3_5_moe_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5_moe/generated/patched_modeling_qwen3_5_moe_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5_moe/generated/patched_modeling_qwen3_5_moe_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_5_moe/generated/patched_modeling_qwen3_5_moe_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_moe/generated/patched_modeling_qwen3_moe_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_moe/generated/patched_modeling_qwen3_moe_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_moe/generated/patched_modeling_qwen3_moe_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_moe/generated/patched_modeling_qwen3_moe_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_omni_moe/generated/patched_modeling_qwen3_omni_moe_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_omni_moe/generated/patched_modeling_qwen3_omni_moe_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_omni_moe/generated/patched_modeling_qwen3_omni_moe_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_omni_moe/generated/patched_modeling_qwen3_omni_moe_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl/generated/patched_modeling_qwen3_vl_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl/generated/patched_modeling_qwen3_vl_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl/generated/patched_modeling_qwen3_vl_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl/generated/patched_modeling_qwen3_vl_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl_moe/generated/patched_modeling_qwen3_vl_moe_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl_moe/generated/patched_modeling_qwen3_vl_moe_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl_moe/generated/patched_modeling_qwen3_vl_moe_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen3_vl_moe/generated/patched_modeling_qwen3_vl_moe_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen4_exp/generated/patched_modeling_qwen4_exp_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen4_exp/generated/patched_modeling_qwen4_exp_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen4_exp/generated/patched_modeling_qwen4_exp_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/qwen4_exp/generated/patched_modeling_qwen4_exp_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/seed_oss/generated/patched_modeling_seed_oss_gpu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/seed_oss/generated/patched_modeling_seed_oss_gpu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/seed_oss/generated/patched_modeling_seed_oss_npu.diff is excluded by !**/generated/**, !**/*.diff, !veomni/models/transformers/**/generated/**
  • veomni/models/transformers/seed_oss/generated/patched_modeling_seed_oss_npu.py is excluded by !**/generated/**, !veomni/models/transformers/**/generated/**
📒 Files selected for processing: 747
  • .agents/knowledge/architecture.md
  • .agents/knowledge/constraints.md
  • .agents/knowledge/multimodal_metadata.md
  • .agents/knowledge/testing.md
  • .agents/knowledge/uv.md
  • .agents/skills/veomni-debug/SKILL.md
  • .agents/skills/veomni-develop/SKILL.md
  • .agents/skills/veomni-new-model/SKILL.md
  • .agents/skills/veomni-new-op/SKILL.md
  • .agents/skills/veomni-patchgen-model/SKILL.md
  • .agents/skills/veomni-patchgen-model/references/model-examples.md
  • .agents/skills/veomni-patchgen-model/references/moe.md
  • .agents/skills/veomni-patchgen-model/references/multimodal.md
  • .agents/skills/veomni-review/SKILL.md
  • .coderabbit.yaml
  • .github/workflows/check_patchgen.yml
  • .github/workflows/device_api_check.yml
  • .github/workflows/gpu_unit_tests.yml
  • .github/workflows/npu_unit_tests.yml
  • README.md
  • configs/dit/ltx2_av_lora.yaml
  • configs/dit/ltx2_av_lora_low_vram.yaml
  • configs/dit/ltx2_v2v_ic_lora.yaml
  • configs/dit/minimax_h3_fl2va_offline.yaml
  • configs/dit/minimax_h3_ref2va_cfg_offline.yaml
  • configs/dit/qwen_image_edit_2511.yaml
  • configs/dit/wan2.1_I2V_1.3B_lora.yaml
  • configs/dit/wan_lora.yaml
  • configs/dit/wan_sft.yaml
  • configs/model_configs/flux/flux.json
  • configs/model_configs/qwen_image/qwen_image_edit_2511.json
  • configs/model_configs/wan/wani2v_14b.json
  • configs/model_configs/wan/want2v_1.3b.json
  • configs/model_configs/wan/want2v_14b.json
  • configs/multimodal/qwen3_5_moe/qwen3_5_moe_vl_ascendc.yaml
  • configs/multimodal/qwen3_5_moe/qwen3_5_moe_vl_muon_ascendc.yaml
  • configs/text/deepseek_v4_npu.yaml
  • configs/text/qwen3_5_27b_mtp_npu.yaml
  • configs/text/qwen3_5_moe_lora.yaml
  • docs/design/deepseek_v4_context_parallel.md
  • docs/design/deepseek_v4_indexer_loss.md
  • docs/design/fused_moe_ops.md
  • docs/design/kernel_selection.md
  • docs/design/op_selection.md
  • docs/design/patchgen.md
  • docs/design/qwen4_exp_ple_2d_parallelism.md
  • docs/design/unified_kernel_registry.md
  • docs/design/verl_topk_distill_integration.md
  • docs/examples/minimax_h3.md
  • docs/examples/qwen3_5.md
  • docs/examples/qwen3_moe.md
  • docs/examples/qwen_image_edit.md
  • docs/get_started/installation/install_ascend_arm.md
  • docs/get_started/installation/install_ascend_x86.md
  • docs/hardware_support/AscendDockerUsage/build_a2_docker.md
  • docs/hardware_support/AscendDockerUsage/build_a3_docker.md
  • docs/hardware_support/FAQ.md
  • docs/hardware_support/mlu/README.md
  • docs/hardware_support/typical_usage.md
  • docs/index.md
  • docs/key_features/lora.md
  • docs/key_features/model_loader.md
  • docs/key_features/mtp.md
  • docs/key_features/ulysses.md
  • docs/seed_omni/usage/hf_layout.md
  • docs/testing.md
  • docs/transformers_v5/index.md
  • docs/transformers_v5/testing_new_model.md
  • docs/transformers_v5/transformers_v5_moe_weight_loading.md
  • docs/transformers_v5/upgrade_5_9_to_5_16.md
  • docs/transformers_v5/veomni_attention_interface.md
  • docs/transformers_v5/veomni_flash_attention_op_adapter.md
  • docs/usage/arguments.md
  • docs/usage/checkpoint.md
  • docs/usage/support_new_models/dit_model_guide.md
  • docs/usage/support_new_models/guide_and_checklist.md
  • docs/usage/support_new_models/qwen3_omni_moe_example.md
  • docs/usage/support_new_models/qwen3_vl_example.md
  • patchgen-pkg/patchgen/codegen.py
  • patchgen-pkg/patchgen/patch_spec.py
  • pyproject.toml
  • tasks/infer/infer_minimax_h3.py
  • tests/arguments/test_model_arguments.py
  • tests/arguments/test_ops_implementation_aliases.py
  • tests/arguments/test_ops_implementation_host_defaults.py
  • tests/checkpoints/test_checkpoint_callback.py
  • tests/checkpoints/test_dcp_checkpointer.py
  • tests/checkpoints/test_dit_resume_align.py
  • tests/data/multimodal/test_qwen3_omni_offline_av.py
  • tests/data/test_collators.py
  • tests/data/test_mm_metadata.py
  • tests/distributed/test_dummy_forward.py
  • tests/distributed/test_hccl_premul_sum.py
  • tests/distributed/test_reduce_loss.py
  • tests/distributed/test_torch_compile.py
  • tests/e2e/test_e2e_parallel.py
  • tests/e2e/test_e2e_training.py
  • tests/e2e/test_e2e_training_no_reshard.py
  • tests/e2e/utils.py
  • tests/lora/test_dense_mlp_lora.py
  • tests/lora/test_moe_lora_eager.py
  • tests/lora/test_moe_lora_ep2.py
  • tests/lora/test_moe_lora_ep_sharded_stream_load.py
  • tests/lora/test_moe_lora_fused.py
  • tests/lora/test_moe_lora_fused_npu.py
  • tests/lora/test_moe_lora_trainer.py
  • tests/lora/test_qwen3_5_moe_lora.py
  • tests/lora/test_vlm_lora.py
  • tests/lora/utils.py
  • tests/models/base/test_attention_utils.py
  • tests/models/base/test_auto_registry.py
  • tests/models/base/test_build_prerequisites.py
  • tests/models/base/test_checkpoint_tensor_converter.py
  • tests/models/base/test_chunk_logprobs.py
  • tests/models/base/test_chunk_topk_distill.py
  • tests/models/base/test_chunked_fused_linear_grad_gating.py
  • tests/models/base/test_loader_weights.py
  • tests/models/base/test_loss_utils.py
  • tests/models/base/test_low_precision_oracle.py
  • tests/models/base/test_masked_attention_fallback.py
  • tests/models/base/test_model_load_balancing_loss.py
  • tests/models/base/test_modify_init.py
  • tests/models/base/test_moe_utils.py
  • tests/models/base/test_op_instance_isolation.py
  • tests/models/base/test_return_log_probs_e2e.py
  • tests/models/compare.py
  • tests/models/conftest.py
  • tests/models/diffusers/test_ltx2_3.py
  • tests/models/diffusers/test_minimax_h3.py
  • tests/models/diffusers/test_qwen_image.py
  • tests/models/diffusers/test_wan_t2v.py
  • tests/models/test_deepseek_v4_fused_moe.py
  • tests/models/test_deepseek_v4_liger_ops.py
  • tests/models/test_gemma3_flex_attention.py
  • tests/models/test_glm_moe_dsa.py
  • tests/models/test_gpt_oss_integration.py
  • tests/models/test_minimax_h3_packing.py
  • tests/models/test_model_registry.py
  • tests/models/test_model_runtime.py
  • tests/models/test_models_logits_equal_v5.py
  • tests/models/test_models_patch.py
  • tests/models/test_padded_packed_loss.py
  • tests/models/test_qwen3_5_moe_mtp.py
  • tests/models/test_qwen4_exp_packing.py
  • tests/models/test_qwen_image_precision.py
  • tests/models/test_qwen_image_training.py
  • tests/models/test_transformers_masking_utils.py
  • tests/models/tiny_configs.py
  • tests/models/transformers/_forward_cases.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4_config.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4_indexer_loss.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4_packed_isolation.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4_packed_utils.py
  • tests/models/transformers/deepseek_v4/test_deepseek_v4_qat.py
  • tests/models/transformers/deepseek_v4/test_dsv4_export_quant.py
  • tests/models/transformers/qwen/test_moe_router_replay.py
  • tests/models/transformers/qwen/test_qwen2.py
  • tests/models/transformers/qwen/test_qwen2_5_omni.py
  • tests/models/transformers/qwen/test_qwen2_5_vl.py
  • tests/models/transformers/qwen/test_qwen2_vl.py
  • tests/models/transformers/qwen/test_qwen3.py
  • tests/models/transformers/qwen/test_qwen3_5.py
  • tests/models/transformers/qwen/test_qwen3_5_moe.py
  • tests/models/transformers/qwen/test_qwen3_moe.py
  • tests/models/transformers/qwen/test_qwen3_omni_moe.py
  • tests/models/transformers/qwen/test_qwen3_vl.py
  • tests/models/transformers/qwen/test_qwen3_vl_moe.py
  • tests/models/transformers/qwen/test_qwen3_vl_vision_positions.py
  • tests/models/transformers/test_deepseek_v3.py
  • tests/models/transformers/test_flux_non_causal.py
  • tests/models/transformers/test_gemma3.py
  • tests/models/transformers/test_generated_call_site_signatures.py
  • tests/models/transformers/test_generated_modeling_imports.py
  • tests/models/transformers/test_glm_moe_dsa.py
  • tests/models/transformers/test_gpt_oss.py
  • tests/models/transformers/test_llama.py
  • tests/models/transformers/test_mlp_hidden_act.py
  • tests/models/transformers/test_model_forward_no_implicit_sync.py
  • tests/models/transformers/test_seed_oss.py
  • tests/models/transformers/test_transformers_upgrade_compat.py
  • tests/models/transformers/test_wan.py
  • tests/models/utils.py
  • tests/ops/__init__.py
  • tests/ops/async_ulysses/test_async_ulysses.py
  • tests/ops/async_ulysses/test_async_ulysses_dit_parity.py
  • tests/ops/async_ulysses/test_async_ulysses_parity.py
  • tests/ops/attention/__init__.py
  • tests/ops/attention/attention_cases.py
  • tests/ops/attention/flash/test_flash_attention.py
  • tests/ops/attention/magi/test_magi_attention.py
  • tests/ops/attention/magi/test_magi_fa4.py
  • tests/ops/attention/magi/test_magi_installer.py
  • tests/ops/attention/test_attention_mask.py
  • tests/ops/attention/test_attention_mask_shape.py
  • tests/ops/attention/test_attention_op.py
  • tests/ops/attention/test_flex_attention.py
  • tests/ops/attention/test_sage_attention.py
  • tests/ops/attention/test_sdpa_attention.py
  • tests/ops/attention/utils.py
  • tests/ops/base/test_builtin_entries.py
  • tests/ops/base/test_op_config_names.py
  • tests/ops/base/test_op_documentation.py
  • tests/ops/base/test_op_entry.py
  • tests/ops/base/test_op_import.py
  • tests/ops/base/test_ops_config.py
  • tests/ops/base/test_platform.py
  • tests/ops/batch_invariant/test_batch_invariant.py
  • tests/ops/dsa/test_dsa.py
  • tests/ops/dsa/test_dsa_deepseek_v4_cann.py
  • tests/ops/dsa/test_dsa_deepseek_v4_tilelang.py
  • tests/ops/dsa/test_dsa_flashmla_cudnn.py
  • tests/ops/dsa/test_dsa_indexer_loss.py
  • tests/ops/dsa/test_dsa_sparse_indices.py
  • tests/ops/gated_delta_rule/test_gated_delta_rule.py
  • tests/ops/gated_delta_rule/test_gdr_ascend_padding_mask.py
  • tests/ops/layer_norm/test_layer_norm.py
  • tests/ops/loss/test_cross_entropy_loss.py
  • tests/ops/loss/test_load_balancing_loss.py
  • tests/ops/mhc/test_mhc.py
  • tests/ops/moe_experts/reference.py
  • tests/ops/moe_experts/test_expert_scatter_index.py
  • tests/ops/moe_experts/test_fused_routing_dtype.py
  • tests/ops/moe_experts/test_moe_experts.py
  • tests/ops/moe_experts/test_moe_experts_ep.py
  • tests/ops/moe_experts/test_npu_clamped_swiglu.py
  • tests/ops/moe_experts_lora/test_moe_experts_lora.py
  • tests/ops/qat/reference.py
  • tests/ops/qat/test_fp8_blockwise.py
  • tests/ops/qat/test_quant.py
  • tests/ops/qsa_attention/test_qsa_attention.py
  • tests/ops/rms_norm/test_rms_norm.py
  • tests/ops/rope/test_rope.py
  • tests/ops/swiglu_mlp/test_swiglu_mlp.py
  • tests/ops/test_chunk_loss.py
  • tests/ops/test_comp.py
  • tests/ops/test_deepseek_v4_indexer_loss.py
  • tests/ops/test_deepseek_v4_kernels.py
  • tests/ops/test_eager_kernels_cpu.py
  • tests/ops/test_flash_attention_contract.py
  • tests/ops/test_flash_attn_varlen_padding.py
  • tests/ops/test_flex_attention_contract.py
  • tests/ops/test_fused_attention_contract.py
  • tests/ops/test_fused_load_balancing_loss.py
  • tests/ops/test_fused_moe_split_vs_merged.py
  • tests/ops/test_gdn_ascend_gate.py
  • tests/ops/test_gdn_varlen_metadata.py
  • tests/ops/test_gpt_oss_fa4_attention.py
  • tests/ops/test_kernel_registry_numerical.py
  • tests/ops/test_kernel_registry_sanity.py
  • tests/ops/test_magi_attention_contract.py
  • tests/ops/test_mhc_tile_kernels.py
  • tests/ops/test_moe_hw_gate.py
  • tests/ops/test_npu_kernels.py
  • tests/ops/test_npu_kernels_extended.py
  • tests/ops/test_quack_fused_moe.py
  • tests/ops/test_seqcls_loss.py
  • tests/ops/tol.py
  • tests/ops/utils.py
  • tests/optim/test_muon_unit.py
  • tests/parallel/context_parallel/test_deepseek_v4_cp.py
  • tests/parallel/context_parallel/test_dsv4_cp_gates.py
  • tests/parallel/context_parallel/test_dsv4_cp_indices.py
  • tests/parallel/test_ddp_sp_grad_sync.py
  • tests/parallel/ulysses/attention.py
  • tests/parallel/ulysses/test_all_gather.py
  • tests/parallel/ulysses/test_async_ulysses_grad.py
  • tests/parallel/ulysses/test_backward.py
  • tests/parallel/ulysses/test_deepseek_v4_ulysses.py
  • tests/parallel/ulysses/test_flux_joint_attn_ulysses.py
  • tests/parallel/ulysses/test_op_wrapper.py
  • tests/parallel/ulysses/test_qwen3_5_gated_deltanet_ulysses.py
  • tests/parallel/ulysses/test_qwen4_exp_ulysses.py
  • tests/parallel/ulysses/test_ulysses.py
  • tests/parallel/ulysses/test_wan_self_attn_ulysses.py
  • tests/parallel/ulysses/test_wan_ulysses_padding.py
  • tests/parallel/ulysses/utils.py
  • tests/precision/qwen_image.py
  • tests/seed_omni/model/test_hf_layout.py
  • tests/seed_omni/model/test_save_load.py
  • tests/seed_omni/runtime/test_module_runtime.py
  • tests/special_sanity/check_device_api_usage.py
  • tests/special_sanity/test_ops_architecture.py
  • tests/tools/common_utils.py
  • tests/tools/test_training_utils.py
  • tests/tools/training_utils.py
  • tests/toy_config/gpt_oss_toy/config.json
  • tests/toy_config/qwen4_exp_toy/config.json
  • tests/toy_config/qwen_image_edit_toy/config.json
  • tests/toy_config/qwen_image_toy/config.json
  • tests/toy_config/wan_t2v_toy/config.json
  • tests/trainer/test_channel_loss_callback.py
  • tests/trainer/test_trainer_model_runtime.py
  • tests/trainer/test_vlm_trainer.py
  • tests/utils/test_count_flops.py
  • tests/utils/test_ep_sharded_expert_stream_load.py
  • tests/utils/test_global_loss_reduction.py
  • tests/utils/test_moe_ep_sharded_load_matrix.py
  • tests/utils/test_moe_router_replay_api.py
  • tests/utils/test_rank0_load_and_broadcast_weights.py
  • tests/utils/test_save_safetensor_utils.py
  • veomni/__init__.py
  • veomni/arguments/arguments_types.py
  • veomni/data/data_collator.py
  • veomni/distributed/checkpoint.py
  • veomni/distributed/hccl_premul_sum.py
  • veomni/distributed/moe/__init__.py
  • veomni/distributed/moe/moe_layer.py
  • veomni/distributed/sequence_parallel/__init__.py
  • veomni/distributed/sequence_parallel/async_ulysses.py
  • veomni/distributed/sequence_parallel/async_ulysses_dit.py
  • veomni/distributed/sequence_parallel/op_wrappers.py
  • veomni/distributed/sequence_parallel/ulysses.py
  • veomni/distributed/torch_parallelize.py
  • veomni/lora/moe_layers.py
  • veomni/lora/ops/__init__.py
  • veomni/lora/ops/moe_group_gemm.py
  • veomni/lora/ops/npu_moe_group_gemm.py
  • veomni/lora/weight_loading.py
  • veomni/models/__init__.py
  • veomni/models/_moe_per_expert_converter.py
  • veomni/models/auto.py
  • veomni/models/checkpoint/__init__.py
  • veomni/models/checkpoint/convert.py
  • veomni/models/checkpoint/manager.py
  • veomni/models/checkpoint/moe_map.py
  • veomni/models/checkpoint/weights.py
  • veomni/models/diffusers/__init__.py
  • veomni/models/diffusers/ltx2_3/__init__.py
  • veomni/models/diffusers/ltx2_3/ltx_condition/__init__.py
  • veomni/models/diffusers/ltx2_3/ltx_core/__init__.py
  • veomni/models/diffusers/ltx2_3/ltx_core/model/transformer/attention.py
  • veomni/models/diffusers/ltx2_3/ltx_core/model/transformer/model.py
  • veomni/models/diffusers/ltx2_3/ltx_core/model/transformer/model_configurator.py
  • veomni/models/diffusers/ltx2_3/ltx_core/model/transformer/ops.py
  • veomni/models/diffusers/ltx2_3/ltx_core/model/transformer/transformer.py
  • veomni/models/diffusers/ltx2_3/ltx_core/text_encoders/gemma/embeddings_connector.py
  • veomni/models/diffusers/ltx2_3/ltx_core/utils.py
  • veomni/models/diffusers/ltx2_3/ltx_transformer/__init__.py
  • veomni/models/diffusers/ltx2_3/ltx_transformer/modeling_ltx2_3_transformer.py
  • veomni/models/diffusers/minimax_h3/__init__.py
  • veomni/models/diffusers/minimax_h3/inference.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_condition/__init__.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_condition/_module_utils.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_condition/modeling_minimax_h3_condition.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_core/core.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_core/minimax_h3_audio_vae.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_core/minimax_h3_dit.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_core/minimax_h3_video_vae.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_transformer/__init__.py
  • veomni/models/diffusers/minimax_h3/minimax_h3_transformer/modeling_minimax_h3_transformer.py
  • veomni/models/diffusers/qwen_image/__init__.py
  • veomni/models/diffusers/qwen_image/qwen_image_condition/__init__.py
  • veomni/models/diffusers/qwen_image/qwen_image_transformer/__init__.py
  • veomni/models/diffusers/qwen_image/qwen_image_transformer/modeling_qwen_image_transformer.py
  • veomni/models/diffusers/wan_t2v/__init__.py
  • veomni/models/diffusers/wan_t2v/wan_condition/__init__.py
  • veomni/models/diffusers/wan_t2v/wan_condition/configuration_wan_condition.py
  • veomni/models/diffusers/wan_t2v/wan_transformer/__init__.py
  • veomni/models/diffusers/wan_t2v/wan_transformer/modeling_wan_transformer.py
  • veomni/models/loader.py
  • veomni/models/loss_utils/__init__.py
  • veomni/models/loss_utils/chunk_logprobs.py
  • veomni/models/loss_utils/chunk_topk_distill.py
  • veomni/models/loss_utils/cross_entropy_loss.py
  • veomni/models/loss_utils/load_balancing_loss.py
  • veomni/models/model_runtime.py
  • veomni/models/registry.py
  • veomni/models/seed_omni/accelerated/omni_module/omni_module_runtime.py
  • veomni/models/seed_omni/accelerated/utils/modules.py
  • veomni/models/seed_omni/modeling_omni.py
  • veomni/models/seed_omni/modules/__init__.py
  • veomni/models/seed_omni/utils/checkpoint.py
  • veomni/models/seed_omni/utils/hf_layout.py
  • veomni/models/transformers/__init__.py
  • veomni/models/transformers/deepseek_v3/__init__.py
  • veomni/models/transformers/deepseek_v3/checkpoint_tensor_converter.py
  • veomni/models/transformers/deepseek_v3/deepseek_v3_gpu_patch_gen_config.py
  • veomni/models/transformers/deepseek_v3/deepseek_v3_npu_patch_gen_config.py
  • veomni/models/transformers/deepseek_v3/device_patch.py
  • veomni/models/transformers/deepseek_v3/triton_bmm.py
  • veomni/models/transformers/deepseek_v4/__init__.py
  • veomni/models/transformers/deepseek_v4/checkpoint_tensor_converter.py
  • veomni/models/transformers/deepseek_v4/configuration_deepseek_v4.py
  • veomni/models/transformers/deepseek_v4/deepseek_v4_gpu_patch_gen_config.py
  • veomni/models/transformers/deepseek_v4/deepseek_v4_npu_patch_gen_config.py
  • veomni/models/transformers/deepseek_v4/device_patch.py
  • veomni/models/transformers/deepseek_v4/export_quant.py
  • veomni/models/transformers/deepseek_v4/indexer_loss.py
  • veomni/models/transformers/deepseek_v4/packed_utils.py
  • veomni/models/transformers/flux/__init__.py
  • veomni/models/transformers/flux/config_flux.py
  • veomni/models/transformers/flux/modeling_flux.py
  • veomni/models/transformers/flux/utils_flux.py
  • veomni/models/transformers/gemma3/__init__.py
  • veomni/models/transformers/gemma3/gemma3_gpu_patch_gen_config.py
  • veomni/models/transformers/glm_moe_dsa/__init__.py
  • veomni/models/transformers/glm_moe_dsa/checkpoint_tensor_converter.py
  • veomni/models/transformers/glm_moe_dsa/glm_moe_dsa_gpu_patch_gen_config.py
  • veomni/models/transformers/glm_moe_dsa/glm_moe_dsa_npu_patch_gen_config.py
  • veomni/models/transformers/gpt_oss/__init__.py
  • veomni/models/transformers/gpt_oss/gpt_oss_gpu_patch_gen_config.py
  • veomni/models/transformers/llama/__init__.py
  • veomni/models/transformers/llama/llama_gpu_patch_gen_config.py
  • veomni/models/transformers/masking_utils.py
  • veomni/models/transformers/movqgan/__init__.py
  • veomni/models/transformers/movqgan/modeling_movqgan.py
  • veomni/models/transformers/qwen2/__init__.py
  • veomni/models/transformers/qwen2/qwen2_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen2_5_omni/__init__.py
  • veomni/models/transformers/qwen2_5_omni/qwen2_5_omni_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen2_5vl/__init__.py
  • veomni/models/transformers/qwen2_5vl/qwen2_5_vl_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen2_vl/__init__.py
  • veomni/models/transformers/qwen2_vl/qwen2_vl_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3/__init__.py
  • veomni/models/transformers/qwen3/qwen3_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3/qwen3_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_5/__init__.py
  • veomni/models/transformers/qwen3_5/qwen3_5_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_5/qwen3_5_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_5_moe/__init__.py
  • veomni/models/transformers/qwen3_5_moe/qwen3_5_moe_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_5_moe/qwen3_5_moe_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_moe/__init__.py
  • veomni/models/transformers/qwen3_moe/checkpoint_tensor_converter.py
  • veomni/models/transformers/qwen3_moe/qwen3_moe_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_moe/qwen3_moe_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_omni_moe/__init__.py
  • veomni/models/transformers/qwen3_omni_moe/checkpoint_tensor_converter.py
  • veomni/models/transformers/qwen3_omni_moe/parallel_plan.py
  • veomni/models/transformers/qwen3_omni_moe/qwen3_omni_moe_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_omni_moe/qwen3_omni_moe_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_vl/__init__.py
  • veomni/models/transformers/qwen3_vl/qwen3_vl_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_vl/qwen3_vl_npu_patch_gen_config.py
  • veomni/models/transformers/qwen3_vl_moe/__init__.py
  • veomni/models/transformers/qwen3_vl_moe/checkpoint_tensor_converter.py
  • veomni/models/transformers/qwen3_vl_moe/qwen3_vl_moe_gpu_patch_gen_config.py
  • veomni/models/transformers/qwen3_vl_moe/qwen3_vl_moe_npu_patch_gen_config.py
  • veomni/models/transformers/qwen4_exp/__init__.py
  • veomni/models/transformers/qwen4_exp/checkpoint_tensor_converter.py
  • veomni/models/transformers/qwen4_exp/qwen4_exp_gpu_patch_gen_config.py
  • veomni/models/transformers/seed_oss/__init__.py
  • veomni/models/transformers/seed_oss/seed_oss_gpu_patch_gen_config.py
  • veomni/models/transformers/seed_oss/seed_oss_npu_patch_gen_config.py
  • veomni/models/transformers/wan/__init__.py
  • veomni/models/transformers/wan/device_patch.py
  • veomni/models/transformers/wan/fa3_fp8.py
  • veomni/models/transformers/wan/modeling_wan.py
  • veomni/models/transformers/wan/npu_patch.py
  • veomni/models/utils/__init__.py
  • veomni/models/utils/attention_utils.py
  • veomni/models/utils/moe_utils.py
  • veomni/ops/README.md
  • veomni/ops/__init__.py
  • veomni/ops/batch_invariant/__init__.py
  • veomni/ops/batch_invariant/patch.py
  • veomni/ops/batch_invariant/support.py
  • veomni/ops/batch_invariant/triton.py
  • veomni/ops/batch_invariant_ops/__init__.py
  • veomni/ops/compound.py
  • veomni/ops/config.py
  • veomni/ops/config/registry.py
  • veomni/ops/config/singleton.py
  • veomni/ops/dispatch.py
  • veomni/ops/install.py
  • veomni/ops/kernel_registry.py
  • veomni/ops/kernels/__init__.py
  • veomni/ops/kernels/async_ulysses/__init__.py
  • veomni/ops/kernels/async_ulysses/o_proj/__init__.py
  • veomni/ops/kernels/async_ulysses/o_proj/dit/__init__.py
  • veomni/ops/kernels/async_ulysses/o_proj/dit/eager.py
  • veomni/ops/kernels/async_ulysses/o_proj/standard/__init__.py
  • veomni/ops/kernels/async_ulysses/o_proj/standard/eager.py
  • veomni/ops/kernels/async_ulysses/qkv_proj/__init__.py
  • veomni/ops/kernels/async_ulysses/qkv_proj/dit/__init__.py
  • veomni/ops/kernels/async_ulysses/qkv_proj/dit/eager.py
  • veomni/ops/kernels/async_ulysses/qkv_proj/standard/__init__.py
  • veomni/ops/kernels/async_ulysses/qkv_proj/standard/eager.py
  • veomni/ops/kernels/async_ulysses/shared/__init__.py
  • veomni/ops/kernels/async_ulysses/shared/backward.py
  • veomni/ops/kernels/async_ulysses/shared/norm.py
  • veomni/ops/kernels/async_ulysses/shared/qkv_state.py
  • veomni/ops/kernels/attention/__init__.py
  • veomni/ops/kernels/attention/flash.py
  • veomni/ops/kernels/attention/helper.py
  • veomni/ops/kernels/attention/magi/_fa4_cuda.py
  • veomni/ops/kernels/attention/magi/mask.py
  • veomni/ops/kernels/attention/mask/__init__.py
  • veomni/ops/kernels/attention/mask/flash.py
  • veomni/ops/kernels/attention/mask/flex.py
  • veomni/ops/kernels/attention/mask/magi.py
  • veomni/ops/kernels/attention/mask/packed.py
  • veomni/ops/kernels/attention/mask/sdpa.py
  • veomni/ops/kernels/attention/mask/shape.py
  • veomni/ops/kernels/attention/standard/__init__.py
  • veomni/ops/kernels/attention/standard/flash.py
  • veomni/ops/kernels/attention/standard/flex.py
  • veomni/ops/kernels/attention/standard/magi/__init__.py
  • veomni/ops/kernels/attention/standard/magi/_fa4_cuda.py
  • veomni/ops/kernels/attention/standard/magi/_kernel.py
  • veomni/ops/kernels/attention/standard/magi/_metadata.py
  • veomni/ops/kernels/attention/standard/sage.py
  • veomni/ops/kernels/attention/standard/sdpa.py
  • veomni/ops/kernels/attention/ulysses.py
  • veomni/ops/kernels/cross_entropy/__init__.py
  • veomni/ops/kernels/cross_entropy/chunk_loss.py
  • veomni/ops/kernels/cross_entropy/eager.py
  • veomni/ops/kernels/cross_entropy/liger.py
  • veomni/ops/kernels/deepseek_v4/__init__.py
  • veomni/ops/kernels/deepseek_v4/npu_lightning_indexer.py
  • veomni/ops/kernels/deepseek_v4/npu_sparse_flash_mla_with_indexer_loss.py
  • veomni/ops/kernels/deepseek_v4/precision_aligned_ops.py
  • veomni/ops/kernels/dsa/__init__.py
  • veomni/ops/kernels/dsa/attention/__init__.py
  • veomni/ops/kernels/dsa/attention/deepseek_v4/__init__.py
  • veomni/ops/kernels/dsa/attention/deepseek_v4/cann.py
  • veomni/ops/kernels/dsa/attention/deepseek_v4/eager.py
  • veomni/ops/kernels/dsa/attention/deepseek_v4/tilelang.py
  • veomni/ops/kernels/dsa/attention/glm/__init__.py
  • veomni/ops/kernels/dsa/attention/glm/eager.py
  • veomni/ops/kernels/dsa/attention/glm/flashmla_cudnn.py
  • veomni/ops/kernels/dsa/indexer/__init__.py
  • veomni/ops/kernels/dsa/indexer/deepseek_v4/__init__.py
  • veomni/ops/kernels/dsa/indexer/deepseek_v4/cann.py
  • veomni/ops/kernels/dsa/indexer/deepseek_v4/eager.py
  • veomni/ops/kernels/dsa/indexer/deepseek_v4/tilelang.py
  • veomni/ops/kernels/dsa/indexer/glm/__init__.py
  • veomni/ops/kernels/dsa/indexer/glm/cudnn.py
  • veomni/ops/kernels/dsa/indexer/glm/eager.py
  • veomni/ops/kernels/dsa/mask.py
  • veomni/ops/kernels/dsa/sparse_indices.py
  • veomni/ops/kernels/dsa/sparse_mqa_target.py
  • veomni/ops/kernels/dsa/topk.py
  • veomni/ops/kernels/dsa/vendor/__init__.py
  • veomni/ops/kernels/dsa/vendor/flashmla_cudnn.py
  • veomni/ops/kernels/dsa/vendor/npu_sparse_flash_mla.py
  • veomni/ops/kernels/dsa/vendor/tilelang_indexer.py
  • veomni/ops/kernels/dsa/vendor/tilelang_indexer_bwd.py
  • veomni/ops/kernels/dsa/vendor/tilelang_indexer_fwd.py
  • veomni/ops/kernels/dsa/vendor/tilelang_sparse_mla.py
  • veomni/ops/kernels/dsa/vendor/tilelang_sparse_mla_bwd.py
  • veomni/ops/kernels/dsa/vendor/tilelang_sparse_mla_fwd.py
  • veomni/ops/kernels/dsa/vendor/tilelang_sparse_mla_target.py
  • veomni/ops/kernels/gated_delta_rule/__init__.py
  • veomni/ops/kernels/gated_delta_rule/_ascend/__init__.py
  • veomni/ops/kernels/gated_delta_rule/_ascend/causal_conv1d.py
  • veomni/ops/kernels/gated_delta_rule/_ascend/chunk_gated_delta_rule_mm.py
  • veomni/ops/kernels/gated_delta_rule/_ascend/flash_gated_delta_rule.py
  • veomni/ops/kernels/gated_delta_rule/causal_conv1d/__init__.py
  • veomni/ops/kernels/gated_delta_rule/causal_conv1d/standard/__init__.py
  • veomni/ops/kernels/gated_delta_rule/causal_conv1d/standard/eager.py
  • veomni/ops/kernels/gated_delta_rule/causal_conv1d/standard/fla.py
  • veomni/ops/kernels/gated_delta_rule/causal_conv1d/standard/triton.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/__init__.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/__init__.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/eager.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/fla.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/fla_npu.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/flash_qla.py
  • veomni/ops/kernels/gated_delta_rule/chunk_gated_delta_rule/standard/triton.py
  • veomni/ops/kernels/gated_delta_rule/npu_ascendc_gated_delta_rule.py
  • veomni/ops/kernels/gated_delta_rule/npu_causal_conv1d.py
  • veomni/ops/kernels/gated_delta_rule/npu_rms_norm_gated.py
  • veomni/ops/kernels/gated_delta_rule/optional.py
  • veomni/ops/kernels/gated_delta_rule/rms_norm_gated/__init__.py
  • veomni/ops/kernels/gated_delta_rule/rms_norm_gated/standard/__init__.py
  • veomni/ops/kernels/gated_delta_rule/rms_norm_gated/standard/eager.py
  • veomni/ops/kernels/gated_delta_rule/rms_norm_gated/standard/fla.py
  • veomni/ops/kernels/gated_delta_rule/rms_norm_gated/standard/torch_npu.py
  • veomni/ops/kernels/gated_delta_rule/vendor/__init__.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/__init__.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/chunk_delta_h.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/chunk_o.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/chunk_scaled_dot_kkt.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/convolution.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/cumsum.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/solve_tril.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/utils.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton/wy_fast.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton_core/__init__.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton_core/chunk_scaled_dot_kkt.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton_core/l2norm.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton_core/solve_tril.py
  • veomni/ops/kernels/gated_delta_rule/vendor/triton_core/utils.py
  • veomni/ops/kernels/layer_norm/__init__.py
  • veomni/ops/kernels/layer_norm/standard/__init__.py
  • veomni/ops/kernels/layer_norm/standard/apex.py
  • veomni/ops/kernels/layer_norm/standard/eager.py
  • veomni/ops/kernels/layer_norm/standard/shape.py
  • veomni/ops/kernels/load_balancing_loss/__init__.py
  • veomni/ops/kernels/load_balancing_loss/eager.py
  • veomni/ops/kernels/load_balancing_loss/triton.py
  • veomni/ops/kernels/loss/__init__.py
  • veomni/ops/kernels/loss/cross_entropy_loss/__init__.py
  • veomni/ops/kernels/loss/cross_entropy_loss/standard/__init__.py
  • veomni/ops/kernels/loss/cross_entropy_loss/standard/chunk_loss.py
  • veomni/ops/kernels/loss/cross_entropy_loss/standard/eager.py
  • veomni/ops/kernels/loss/cross_entropy_loss/standard/liger_kernel.py
  • veomni/ops/kernels/loss/load_balancing_loss/__init__.py
  • veomni/ops/kernels/loss/load_balancing_loss/standard/__init__.py
  • veomni/ops/kernels/loss/load_balancing_loss/standard/eager.py
  • veomni/ops/kernels/loss/load_balancing_loss/standard/triton.py
  • veomni/ops/kernels/mhc/__init__.py
  • veomni/ops/kernels/mhc/head/__init__.py
  • veomni/ops/kernels/mhc/head/eager.py
  • veomni/ops/kernels/mhc/head/tilelang.py
  • veomni/ops/kernels/mhc/helper.py
  • veomni/ops/kernels/mhc/npu.py
  • veomni/ops/kernels/mhc/post/__init__.py
  • veomni/ops/kernels/mhc/post/cann.py
  • veomni/ops/kernels/mhc/post/eager.py
  • veomni/ops/kernels/mhc/post/tilelang.py
  • veomni/ops/kernels/mhc/pre/__init__.py
  • veomni/ops/kernels/mhc/pre/cann.py
  • veomni/ops/kernels/mhc/pre/eager.py
  • veomni/ops/kernels/mhc/pre/tilelang.py
  • veomni/ops/kernels/mhc/tile_kernels.py
  • veomni/ops/kernels/mhc/vendor/__init__.py
  • veomni/ops/kernels/mhc/vendor/npu_mhc.py
  • veomni/ops/kernels/moe/__init__.py
  • veomni/ops/kernels/moe/_kernels/kernel/npu_group_gemm.py
  • veomni/ops/kernels/moe/_kernels/kernel/triton_utils/activation.py
  • veomni/ops/kernels/moe/_kernels/kernel/triton_utils/memory.py
  • veomni/ops/kernels/moe/_kernels/kernel/triton_utils/utils.py
  • veomni/ops/kernels/moe/_kernels/utils/benchmark_utils.py
  • veomni/ops/kernels/moe/_kernels/utils/config.py
  • veomni/ops/kernels/moe/_kernels/utils/envvars.py
  • veomni/ops/kernels/moe/_kernels/utils/path.py
  • veomni/ops/kernels/moe/_kernels/utils/pretuned.py
  • veomni/ops/kernels/moe/mlu_group_gemm.py
  • veomni/ops/kernels/moe_experts/__init__.py
  • veomni/ops/kernels/moe_experts/gpt_oss/__init__.py
  • veomni/ops/kernels/moe_experts/gpt_oss/eager.py
  • veomni/ops/kernels/moe_experts/gpt_oss/quack.py
  • veomni/ops/kernels/moe_experts/shared/__init__.py
  • veomni/ops/kernels/moe_experts/shared/dispatch.py
  • veomni/ops/kernels/moe_experts/shared/ep.py
  • veomni/ops/kernels/moe_experts/shared/group_gemm.py
  • veomni/ops/kernels/moe_experts/shared/indices.py
  • veomni/ops/kernels/moe_experts/shared/npu_clamped_swiglu.py
  • veomni/ops/kernels/moe_experts/shared/scatter.py
  • veomni/ops/kernels/moe_experts/shared/swiglu.py
  • veomni/ops/kernels/moe_experts/standard/__init__.py
  • veomni/ops/kernels/moe_experts/standard/eager.py
  • veomni/ops/kernels/moe_experts/standard/mlu.py
  • veomni/ops/kernels/moe_experts/standard/npu.py
  • veomni/ops/kernels/moe_experts/standard/quack.py
  • veomni/ops/kernels/moe_experts/standard/triton.py
  • veomni/ops/kernels/moe_experts_lora/__init__.py
  • veomni/ops/kernels/moe_experts_lora/helper.py
  • veomni/ops/kernels/moe_experts_lora/independent/__init__.py
  • veomni/ops/kernels/moe_experts_lora/independent/eager.py
  • veomni/ops/kernels/moe_experts_lora/independent/npu.py
  • veomni/ops/kernels/moe_experts_lora/independent/triton.py
  • veomni/ops/kernels/moe_experts_lora/routing.py
  • veomni/ops/kernels/moe_experts_lora/shared/__init__.py
  • veomni/ops/kernels/moe_experts_lora/shared/eager.py
  • veomni/ops/kernels/moe_experts_lora/shared/npu.py
  • veomni/ops/kernels/moe_experts_lora/shared/triton.py
  • veomni/ops/kernels/qsa_attention/__init__.py
  • veomni/ops/kernels/qsa_attention/standard/__init__.py
  • veomni/ops/kernels/qsa_attention/standard/eager.py
  • veomni/ops/kernels/qsa_attention/standard/tilelang.py
  • veomni/ops/kernels/qsa_attention/vendor/__init__.py
  • veomni/ops/kernels/qsa_attention/vendor/tilelang_qsa.py
  • veomni/ops/kernels/qsa_attention/vendor/tilelang_qsa_bwd.py
  • veomni/ops/kernels/qsa_attention/vendor/tilelang_qsa_dkv.py
  • veomni/ops/kernels/qsa_attention/vendor/tilelang_qsa_fwd.py
  • veomni/ops/kernels/qwen4_exp/__init__.py
  • veomni/ops/kernels/rms_norm/__init__.py
  • veomni/ops/kernels/rms_norm/deepseek_v4/__init__.py
  • veomni/ops/kernels/rms_norm/deepseek_v4/eager.py
  • veomni/ops/kernels/rms_norm/deepseek_v4/liger_kernel.py
  • veomni/ops/kernels/rms_norm/deepseek_v4/torch_npu.py
  • veomni/ops/kernels/rms_norm/group.py
  • veomni/ops/kernels/rms_norm/npu.py
  • veomni/ops/kernels/rms_norm/offset/__init__.py
  • veomni/ops/kernels/rms_norm/offset/eager.py
  • veomni/ops/kernels/rms_norm/offset/liger_kernel.py
  • veomni/ops/kernels/rms_norm/offset/torch_npu.py
  • veomni/ops/kernels/rms_norm/standard/__init__.py
  • veomni/ops/kernels/rms_norm/standard/eager.py
  • veomni/ops/kernels/rms_norm/standard/liger_kernel.py
  • veomni/ops/kernels/rms_norm/standard/torch_npu.py
  • veomni/ops/kernels/rms_norm/standard/triton.py
  • veomni/ops/kernels/rms_norm/triton_batch_invariant.py
  • veomni/ops/kernels/rms_norm/unweighted/__init__.py
  • veomni/ops/kernels/rms_norm/unweighted/eager.py
  • veomni/ops/kernels/rms_norm/unweighted/liger_kernel.py
  • veomni/ops/kernels/rope/__init__.py
  • veomni/ops/kernels/rope/deepseek_v4/__init__.py
  • veomni/ops/kernels/rope/deepseek_v4/eager.py
  • veomni/ops/kernels/rope/deepseek_v4/triton.py
  • veomni/ops/kernels/rope/full/__init__.py
  • veomni/ops/kernels/rope/full/eager.py
  • veomni/ops/kernels/rope/full/liger_kernel.py
  • veomni/ops/kernels/rope/full/torch_npu.py
  • veomni/ops/kernels/rope/interleave/__init__.py
  • veomni/ops/kernels/rope/interleave/eager.py
  • veomni/ops/kernels/rope/mrope/__init__.py
  • veomni/ops/kernels/rope/mrope/eager.py
  • veomni/ops/kernels/rope/partial/__init__.py
  • veomni/ops/kernels/rope/partial/eager.py
  • veomni/ops/kernels/rope/partial/liger_kernel.py
  • veomni/ops/kernels/rope/partial/torch_npu.py
  • veomni/ops/kernels/rope/wan/__init__.py
  • veomni/ops/kernels/rope/wan/eager.py
  • veomni/ops/kernels/rope/wan/torch_npu.py
  • veomni/ops/kernels/rope/wan/triton.py
  • veomni/ops/kernels/rotary/__init__.py
  • veomni/ops/kernels/rotary/npu.py
  • veomni/ops/kernels/rotary/triton_wan.py
  • veomni/ops/kernels/swiglu/__init__.py
  • veomni/ops/kernels/swiglu_mlp/__init__.py
  • veomni/ops/kernels/swiglu_mlp/geglu/__init__.py
  • veomni/ops/kernels/swiglu_mlp/geglu/eager.py
  • veomni/ops/kernels/swiglu_mlp/geglu/liger_kernel.py
  • veomni/ops/kernels/swiglu_mlp/standard/__init__.py
  • veomni/ops/kernels/swiglu_mlp/standard/eager.py
  • veomni/ops/kernels/swiglu_mlp/standard/liger_kernel.py
  • veomni/ops/liger/__init__.py
  • veomni/ops/mask.py
  • veomni/ops/platform/__init__.py
  • veomni/ops/platform/gpu.py
  • veomni/ops/platform/npu/hccl_premul_sum.py
  • veomni/ops/platform/requirement.py
  • veomni/ops/qat/__init__.py
  • veomni/ops/qat/_hardware.py
  • veomni/ops/qat/fp4_blockwise.py
  • veomni/ops/qat/fp8_blockwise.py
  • veomni/ops/qat/quant.py
  • veomni/ops/qat/scale.py
  • veomni/ops/registry.py
  • veomni/ops/triton_cache.py
  • veomni/trainer/base.py
  • veomni/trainer/callbacks/channel_loss_callback.py
  • veomni/trainer/callbacks/checkpoint_callback.py
  • veomni/trainer/dit_trainer.py
  • veomni/trainer/omni/omni_trainer.py
  • veomni/trainer/text_dpo_trainer.py
  • veomni/utils/device.py
  • veomni/utils/dit_utils.py
  • veomni/utils/import_utils.py
  • veomni/utils/save_safetensor_utils.py
  • veomni/utils/seqlen_pos_transform_utils.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the wip label Aug 31, 2026
@Coach257

Copy link
Copy Markdown
Collaborator

#1073

@Zx55 Zx55 changed the title WIP: replace OpSlot dispatch with KERNEL_REGISTRY WIP: refactor OpSlot dispatch Aug 31, 2026
Comment thread tests/kernels/attention_cases.py Resolved
Comment thread tests/ops/mhc/test_mhc.py Resolved
@Zx55 Zx55 changed the title WIP: refactor OpSlot dispatch [ops, model] refactor: replace OpSlot with OP_REGISTRY and VeomniOp Sep 18, 2026
@Zx55 Zx55 changed the title [ops, model] refactor: replace OpSlot with OP_REGISTRY and VeomniOp [ops, model] refactor: replace OpSlot with VeomniOp Sep 18, 2026
@Zx55 Zx55 changed the title [ops, model] refactor: replace OpSlot with VeomniOp [BREAKING][ops, model] refactor: replace OpSlot with VeomniOp Sep 20, 2026
…omniOp

Authors register raw forward/backward or an opaque wrapper. The registry
generates the autograd Function, keys rows by (op, variant, impl, device),
and hands modeling a local VeomniOp. Delete the old kernel_registry,
dispatch, and config singleton so the public API has one registration path.
…l loss

Move the common tensor ops onto OP_REGISTRY with eager and vendor rows.
Keep CE and load-balancing at token level; shifting, SP reduction, and
log-prob policy stay out of the kernel rows. Include LayerNorm so async
Ulysses does not depend on Apex.
Add the remaining compute families as registry rows, including LoRA expert
variants and device-specific implementations. Compound or opaque ops keep
raw nested calls where a clean forward/backward split exists.
Install stock and veomni_* attention into the Transformers registries.
Keep mask builders as a separate shape/native API. Async Ulysses QKV/O
uses standard and dit variants that call nested raw pairs.
…andles

Model construction, checkpoint convert/load, and loss helpers resolve ops
from config and store VeomniOp on the instance. There is no process-wide
bind. Shared tests cover registry build, config scope, and handle isolation.
Point every supported text, VL, and Omni family at instance-local
VeomniOp handles. Keep patchgen configs and generated modeling in the
same commit so the registered classes match the new call sites.
Consume Wan, Flux, Qwen Image, LTX, MiniMax, and MoVQGAN through the
same VeomniOp handles as the transformer families, including DiT async
Ulysses and family-specific attention wiring.
Update trainer, sequence-parallel, LoRA, data, and YAML defaults to the
new op names and instance-local handles. Drop leftover slot/facade
rewrites so callers cannot select interned names that no longer exist.
Describe OpEntry, VeomniOp, and selection in current docs and skills.
Point patchgen, device-api, and unit-test workflows at the canonical
ops and models packages.
@Zx55
Zx55 force-pushed the czr/kernel-registry-refactor branch from 520a68c to c29b58f Compare September 20, 2026 03:51
@Zx55
Zx55 marked this pull request as ready for review September 20, 2026 04:11
Zx55 and others added 3 commits September 20, 2026 12:47
… and NPU checks

Co-authored-by: Cursor <cursoragent@cursor.com>
… checks

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Zx55 and others added 2 commits September 20, 2026 22:40
Pin the SwiGLU routing scale to the activation dtype so batch-invariant
linear does not mix fp32 router scores with bf16 expert weights. Align
the Wan padded Ulysses reference to the same mask, skip Qwen-Image
isolation on NPU CPU tensors, and give DeepSeek-V3 e2e the same bf16
mixed-precision extra_args as V4.

Co-authored-by: Cursor <cursoragent@cursor.com>
… on compute dtype

Drop the GPU eager-MoE override so DeepSeek-V3 e2e stays on fused_triton with the original EP=2 matrix. Cast fp32 router scores onto the activation dtype at the experts call site and in the Triton wrapper so group-gemm does not see a dtype split.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread veomni/arguments/arguments_types.py Resolved
@Coach257
Coach257 merged commit 8305980 into ByteDance-Seed:main Oct 18, 2026
18 checks passed
Estrellajer added a commit to Estrellajer/VeOmni that referenced this pull request Oct 19, 2026
- Implement shared-prefix training for Qwen3.5 and Qwen3.5 MoE on GPU and NPU
- Adapt GatedDeltaNet and Attention layers to VeomniOp interface (ByteDance-Seed#1142)
- Fork recurrent state for GatedDeltaNet at prefix boundary
- Gather key/value states for Attention across prefix and suffix
- Add shared prefix plan layout and compaction utilities
- Add comprehensive unit tests and documentation
wangyier7 added a commit to wangyier7/VeOmni that referenced this pull request Oct 19, 2026
…tern

Follow-up to the origin/main merge (ByteDance-Seed#1142 OpSlot -> VeomniOp refactor):
- KimiRMSNorm / SituAndMul: __init__-bound instance-local VeomniOp handles
  (rms_norm/standard, situ_and_mul/kimi_k3) replacing the OpSlot guards
- PatchedKimiK3Experts: branchless dispatch through an instance-local
  moe_experts VeomniOp (kimi_k3 variant for SituGLU, standard otherwise);
  the eager expert loop is now a registered row, not an in-rule fallback
- CE loss: ForCausalLMLoss bound to a cross_entropy_loss/standard VeomniOp
  via functools.partial on both KimiLinearForCausalLM and
  KimiK3ForConditionalGeneration (variant renamed causal -> standard)
- chunk_kda: name hijack now dispatches through a lazily-resolved
  chunk_kda/kimi_k3 VeomniOp (first-call resolution follows the ops config
  installed at model-build time)
- NPU config re-registers the new __init__ overrides; regen both targets
Coach257 added a commit that referenced this pull request Oct 20, 2026
…le via VeomniOp

Merge #1314 (including #1142 VeomniOp refactor) into omniv2 alongside the
per-module SP/CP/CP*SP support, and migrate SeedOmni modules onto explicit
VeomniOp selection from self.config.ops_implementation:

- BagelQwen2MoTAccelerated, BagelSiglipNavit, TextEncoderAccelerated,
  JanusVqvaeAccelerated, Qwen3MoeLlm: replace module-level OpSlot / global
  LOSS_MAPPING / direct kernel dispatch with instance-local VeomniOp handles
  constructed directly from config.ops_implementation.get(...).
- JanusSiglipConfig: declare sub_configs = {"vision_config": JanusVisionConfig}
  so _attn_implementation propagates to the nested vision config.
- OmniModel._load_modules, ModuleRuntime._init_eager_inference: drop global
  set_ops_config / bind_ops_to_modeling calls.
yeyeyeping added a commit to yeyeyeping/VeOmni that referenced this pull request Oct 21, 2026
…MiniMax M3 VL support

MiniMax M3 VL (MiniMaxAI/MiniMax-M3) support rebuilt on main after the
OpSlot -> VeomniOp refactor (ByteDance-Seed#1142), the moe_experts reorganisation, and
the test-tree reorganisation.

- Modeling: patchgen GPU/NPU configs construct instance-local VeomniOps:
  rms_norm/offset (fp32 1 + weight), cross_entropy_loss via ForCausalLMLoss,
  moe_experts/swiglu_oai, minimax_sparse_attention indexer/attention, and
  attention/standard for the vision tower. Packed-only language attention,
  Ulysses with per-KV-group index-query exchange, frozen indexer, vision
  attention guard for varlen and veomni_* backends, router aux loss disabled.
- Ops: minimax_sparse_attention eager rows (npu_fusion_attention on Ascend);
  moe_experts/swiglu_oai rows (eager, fused_triton, fused_npu) reusing the
  standard merged-fc1 Triton/NPU/EP paths through an optional swiglu_alpha;
  SwiGLU-OAI helpers in moe_experts/shared/swiglu.py; Ulysses
  gather_seq_scatter_kv_heads.
- Data/trainer: MiniMax processor, chat template and data transform; shared
  VLM media loading; vision_tower lookup and vit_lr grouping.
- Checkpoint: runtime converter for the public checkpoint layout.
- Tests, configs and docs for the above.
yeyeyeping added a commit to yeyeyeping/VeOmni that referenced this pull request Oct 22, 2026
…MiniMax M3 VL support

MiniMax M3 VL (MiniMaxAI/MiniMax-M3) support rebuilt on main after the
OpSlot -> VeomniOp refactor (ByteDance-Seed#1142), the moe_experts reorganisation, and
the test-tree reorganisation.

- Modeling: patchgen GPU/NPU configs construct instance-local VeomniOps:
  rms_norm/offset (fp32 1 + weight), cross_entropy_loss via ForCausalLMLoss,
  moe_experts/swiglu_oai, minimax_sparse_attention indexer/attention, and
  attention/standard for the vision tower. Packed-only language attention,
  Ulysses with per-KV-group index-query exchange, frozen indexer, vision
  attention guard for varlen and veomni_* backends, router aux loss disabled.
- Ops: minimax_sparse_attention eager rows (npu_fusion_attention on Ascend);
  moe_experts/swiglu_oai rows (eager, fused_triton, fused_npu) reusing the
  standard merged-fc1 Triton/NPU/EP paths through an optional swiglu_alpha;
  SwiGLU-OAI helpers in moe_experts/shared/swiglu.py; Ulysses
  gather_seq_scatter_kv_heads.
- Data/trainer: MiniMax processor, chat template and data transform; shared
  VLM media loading; vision_tower lookup and vit_lr grouping.
- Checkpoint: runtime converter for the public checkpoint layout.
- Tests, configs and docs for the above.
sc1915 pushed a commit to sc1915/VeOmni that referenced this pull request Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants