Skip to content

feat:[AutoDeploy] E2E build example for llama4 VLM - #9

Closed
Fridah-nv wants to merge 32 commits into
feat/ad_coverage_week1from
user/fridah/vllama4
Closed

feat:[AutoDeploy] E2E build example for llama4 VLM#9
Fridah-nv wants to merge 32 commits into
feat/ad_coverage_week1from
user/fridah/vllama4

Conversation

@Fridah-nv

Copy link
Copy Markdown

Description

Add an unit test as small build example for Llama4 MultiModal Model.
Demonstrates

  1. processing image and test inputs with AutoProcessor.apply_chat_template()
  2. using torch.cond to accept both text+image input and text only inputs

Test Coverage

GitHub Bot Help

/bot [-h] ['run', 'kill', 'skip', 'reuse-pipeline'] ...

Provide a user friendly way for developers to interact with a Jenkins server.

Run /bot [-h|--help] to print this help message.

See details below for each supported subcommand.

Details

run [--disable-fail-fast --skip-test --stage-list "A10-1, xxx" --gpu-type "A30, H100_PCIe" --add-multi-gpu-test --only-multi-gpu-test --disable-multi-gpu-test --post-merge --extra-stage "H100_PCIe-[Post-Merge]-1, xxx"]

Launch build/test pipelines. All previously running jobs will be killed.

--disable-fail-fast (OPTIONAL) : Disable fail fast on build/tests/infra failures.

--skip-test (OPTIONAL) : Skip all test stages, but still run build stages, package stages and sanity check stages. Note: Does NOT update GitHub check status.

--stage-list "A10-1, xxx" (OPTIONAL) : Only run the specified test stages. Examples: "A10-1, xxx". Note: Does NOT update GitHub check status.

--gpu-type "A30, H100_PCIe" (OPTIONAL) : Only run the test stages on the specified GPU types. Examples: "A30, H100_PCIe". Note: Does NOT update GitHub check status.

--only-multi-gpu-test (OPTIONAL) : Only run the multi-GPU tests. Note: Does NOT update GitHub check status.

--disable-multi-gpu-test (OPTIONAL) : Disable the multi-GPU tests. Note: Does NOT update GitHub check status.

--add-multi-gpu-test (OPTIONAL) : Force run the multi-GPU tests. Will also run L0 pre-merge pipeline.

--post-merge (OPTIONAL) : Run the L0 post-merge pipeline instead of the ordinary L0 pre-merge pipeline.

--extra-stage "H100_PCIe-[Post-Merge]-1, xxx" (OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Examples: --extra-stage "H100_PCIe-[Post-Merge]-1, xxx".

kill

kill

Kill all running builds associated with pull request.

skip

skip --comment COMMENT

Skip testing for latest commit on pull request. --comment "Reason for skipping build/test" is required. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

reuse-pipeline

reuse-pipeline

Reuse a previous pipeline to validate current commit. This action will also kill all currently running builds associated with the pull request. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

juney-nvidia and others added 30 commits May 19, 2025 05:05
Signed-off-by: Iman Tabrizian <10105175+tabrizian@users.noreply.github.com>
…M120) (NVIDIA#4363)

* added nemotron 49b fp8 for B40 release

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

* add tests to QA list

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

* pre-commit changes

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

---------

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>
* add nemotron-h and llama_70b cases

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* trial

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* add llm decoder quick_start case

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* update nemotron-h test case

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* add qwen3 quickstart test

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* add trtllm_decoder accuracy test

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* remove quickstart test for llm_decoder

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* fix import error

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* nemotronh fp8 trial

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* fix name

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* remove nemotronh-fp8

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

---------

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>
* add qwen2_0_5_instruct cp4 test case

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* add qwen2.5 fp8 kvcache test case

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* add ds distill qwen cpp runner test case

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

* trial

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>

---------

Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>
* chore: cleanup perf_evaluator code

Signed-off-by: Superjomn <328693+Superjomn@users.noreply.github.com>

* up

Signed-off-by: Superjomn <328693+Superjomn@users.noreply.github.com>

---------

Signed-off-by: Superjomn <328693+Superjomn@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Fix wrong argument

Signed-off-by: Kaiyu Xie <26294424+kaiyux@users.noreply.github.com>
NVIDIA#4425)

Update README.md

Signed-off-by: Adamz-nvidia <93107928+AdamzNV@users.noreply.github.com>
fix allreduce fuison kernels and ut

Signed-off-by: Yilin Zhang <18275976+yilin-void@users.noreply.github.com>

---------

Co-authored-by: AIDC-AI <AIDC-AIB@365fanyi.com>
…ific controller with step split (NVIDIA#4337)

Signed-off-by: Zhenhuan Chen <chenzhh3671@gmail.com>
NIXL interfaces

Signed-off-by: ShiXiaowei02 <39303645+Shixiaowei02@users.noreply.github.com>
Signed-off-by: Yukun He <23156053+hyukn@users.noreply.github.com>
…4263)

* Fix padded vocab size for Llama

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Refactor multi GPU llama executor tests, and reuse the built model engines

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Fix test list typo

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* WIP

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Further WIP

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* WIP

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Update test lists and readme

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Try parametrize for asymmetric

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>

* Parametrize + skip unsupported combinations

Signed-off-by: domb <3886319+DomBrown@users.noreply.github.com>

* Update test list

Signed-off-by: domb <3886319+DomBrown@users.noreply.github.com>

* Reduce environment duplicated code

Signed-off-by: domb <3886319+DomBrown@users.noreply.github.com>

---------

Signed-off-by: Dom Brown <3886319+DomBrown@users.noreply.github.com>
Signed-off-by: domb <3886319+DomBrown@users.noreply.github.com>
Signed-off-by: ShiXiaowei02 <39303645+Shixiaowei02@users.noreply.github.com>
* Add llama4 disagg accuracy tests

Signed-off-by: Iman Tabrizian <10105175+tabrizian@users.noreply.github.com>

* Make it async and add GSM8K benchmark

Signed-off-by: Iman Tabrizian <10105175+tabrizian@users.noreply.github.com>

---------

Signed-off-by: Iman Tabrizian <10105175+tabrizian@users.noreply.github.com>
…A#3952)

Signed-off-by: Jin Li <59594262+liji-nv@users.noreply.github.com>
* [Docs] - Reapply NVIDIA#4220

Signed-off-by: Yanchao Lu <yanchaol@nvidia.com>

* Update docs/source/_static/switcher.json

Signed-off-by: Yanchao Lu <yanchaol@nvidia.com>

---------

Signed-off-by: Yanchao Lu <yanchaol@nvidia.com>
…d e2e test for Mixtral 8x7B FP8 on RTX6000 Pro (SM120) (NVIDIA#4335)

* add mixtral7x8b fp8 test with fixed cutlass fp8 moe gemm

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

* update cutlass versions

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

* added internal cutlass with fix and docker update

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

* added mixtral to pro 6000

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>

---------

Signed-off-by: Faraz Khoubsirat <58580514+farazkh80@users.noreply.github.com>
)

* update cubins

Signed-off-by: Perkz Zheng <67892460+PerkzZheng@users.noreply.github.com>

* add mtp for fmha_v2 MLA kernels and add chunked-attention support for hopper fmha kernels

Signed-off-by: Perkz Zheng <67892460+PerkzZheng@users.noreply.github.com>

---------

Signed-off-by: Perkz Zheng <67892460+PerkzZheng@users.noreply.github.com>
Co-authored-by: Sharan Chetlur <116769508+schetlur-nv@users.noreply.github.com>
…ils for nested subgraphs

Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Frida Hou <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Ubuntu <201670829+Fridah-nv@users.noreply.github.com>
Fridah-nv added 2 commits May 19, 2025 10:50
Signed-off-by: Ubuntu <201670829+Fridah-nv@users.noreply.github.com>
Signed-off-by: Ubuntu <201670829+Fridah-nv@users.noreply.github.com>
@Fridah-nv Fridah-nv closed this May 20, 2025
greg-kwasniewski1 added a commit that referenced this pull request Jun 10, 2026
…_oss IR port

Closes several pre-existing gaps in the sharding-IR pipeline that
together prevented IR-marked modeling files from actually exercising
the IR path, and adds the supporting infrastructure for GPT-OSS-style
models.

Core fixes (transform/library/sharding_ir.py):

* IR-vs-legacy dispatch bug: ``has_sharding_ir_markers`` compared
  ``node.target == torch.ops.auto_deploy.all_reduce`` (OpOverloadPacket),
  which always returned False because FX nodes carry the ``.default``
  OpOverload as their target. Renamed to ``is_shardingIR_enabled`` and
  fixed to use ``is_op(...)`` so the comparison matches both forms.

* Rowwise-bias double-counting: ``LinearShardableNode`` was leaving
  the bias intact for rowwise sharding. Mirrored the legacy
  ``detect_column_row_shard`` "drop bias on all but one rank" pattern
  (reusing ``_load_hook_remove``) so the bias appears exactly once
  after reduction.

* ``torch_attention`` registered to ``WeightedParamShardableNode``
  (with a new ``enable_sharding: bool = False`` schema kwarg). Slices
  per-head free Parameters passed directly to ``torch_attention``
  (e.g. GPT-OSS's ``sinks``) along the head dim.

* New ``DenseMLPMoEShardableNode`` registered for
  ``torch.ops.auto_deploy.torch_moe_dense_mlp``. Stacked-tensor MoE
  variants other than ``triton_mxfp4_moe`` were previously unregistered
  (left replicated). Verified end-to-end on gpt_oss-ep-only: 8
  collectives inserted, rel_rmse=0.0049 (tol=0.02).

Modeling:

* modeling_gpt_oss.py: IR-port the attention block (Q/K/V/O linears
  -> torch_linear_simple, head reshapes -> auto_deploy.view with
  tp_scaled_dim=2, o_proj rowwise + all_reduce, ``enable_sharding=True``
  on the ``torch_attention`` call so ``sinks`` is sliced).

* modeling_qwen3_5_moe.py: revert the all_reduce-vs-add ordering
  inversion from NVIDIA#14667 (Taylor's NVFP4 fix). The current
  ``all_reduce(routed) + shared_partial`` order is mathematically wrong
  for BF16 sharded routed+shared MoE: routed gets reduced TP-fold while
  shared stays partial, so the sum is full+partial. Restoring the
  canonical "add first, all_reduce once" pattern matches the other
  IR-ported MoE models. NVFP4 path behavior may need a separate
  investigation.

Test harness:

* Renamed ``test_sharding_ir_equivalence`` -> ``test_sharding_num_correctness``.
  Deduplicated to import the production ``is_shardingIR_enabled``
  helper instead of a parallel implementation. Dropped an erroneous
  ``pytest.skip`` inside a ``spawn_multiprocess_job`` worker (would
  surface as ``Process exited with code 1`` and mask the actual outcome).
  Added a small ``_KNOWN_FAILING_MODELING_FILES`` skip list with
  ``granite_moe_hybrid`` as the sole entry (pre-existing modeling-side
  sharding bug, unchanged from origin/main).

* custom_ops/attention/torch_attention.py: added
  ``enable_sharding: bool = False`` to the op schema (real impl + fake).

Skill:

* .claude/skills/ad-sharding-ir-port/SKILL.md: documented the new
  per-head Parameter sharding pattern, corrected stale Pitfall #9.

Signed-off-by: greg-kwasniewski1 <213329731+greg-kwasniewski1@users.noreply.github.com>
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.