Skip to content

Add examples for MoE models - Mixtral in TE - #2642

Merged
sudhakarsingh27 merged 21 commits into
NVIDIA:mainfrom
faradawn:add-moe-example
May 26, 2026
Merged

Add examples for MoE models - Mixtral in TE#2642
sudhakarsingh27 merged 21 commits into
NVIDIA:mainfrom
faradawn:add-moe-example

Conversation

@faradawn

@faradawnfaradawn commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds a complete tutorial for integrating HuggingFace Mixtral (MoE) with Transformer Engine, addressing the gap identified in #2573.

What's included

  • te_mixtral.py — Drop-in TEMixtralSparseMoeBlock that replaces HF's loop-over-experts with TE's GroupedLinear (batched GEMM) + moe_permute/moe_unpermute. Includes replace_moe_block context manager, TEMixtralForCausalLM with HF weight loading, and replace_params for expert weight packing.
  • utils.py — Data loading, BF16/FP8 model init, Accelerate wrapping, fine-tuning loop — mirrors te_llama/utils.py style.
  • requirements.txt — Pinned dependencies matching the Llama/Gemma tutorials.
  • Tutorial notebook — Full tutorial matching the quality bar of te_llama and te_gemma, covering:
    1. Architecture overview: Transformer → Mixtral MoE, HF bottleneck, TE approach
    2. Unit-test cell verifying output shape/dtype against the HF block
    3. [Baseline] HF Mixtral in BF16
    4. [Improvement 1] TE GroupedLinear MoE in BF16
    5. [Improvement 2] TE GroupedLinear MoE in FP8
    6. Expert routing considerations with mixed precision (m_splits, per-expert FP8 scaling, aux loss passthrough)
    7. Generalisation guide for other MoE architectures (DeepSeek, Grok-1, etc.)

Bug fix

Corrected the m_splits calculation flagged by the automated review:

# Before (wrong): double-counts tokens by reducing with .any() then multiplying by top_kexpert_mask= (selected_experts==expert_idx).any(dim=-1)
m_splits.append(expert_mask.sum().item() *self.top_k)
# After (correct): count the actual number of (token, top_k_slot) pairs per expertm_splits= [(selected_experts==i).sum().item() foriinrange(self.num_experts)]

Scope

Covers all topics requested in #2573:

  • How to wrap MoE layers with TE modules ✓
  • FP8 training configuration for MoE ✓
  • Expert routing considerations with mixed precision ✓
  • Generalisation to arbitrary MoE architectures ✓

@greptile-apps

greptile-appsBot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a complete Transformer Engine tutorial for HuggingFace Mixtral (MoE), covering BF16 GroupedLinear, FP8, and MXFP8 expert-parallel fine-tuning, and addresses many previously flagged issues (wrong map_type, m_splits double-count, missing flash-attn/nvidia-cudnn-frontend deps, hard-coded warmup steps, wandb dep, sorted() key for numeric expert-weight keys, and DP gradient sync).

  • te_mixtral.py + te_moe_dispatch.py: Two separate AllToAllTokenDispatcher classes implement BF16 and MXFP8 dispatch/combine paths; the BF16 class uses moe_permute(map_type=\"index\") + moe_unpermute, while the MXFP8 class uses moe_permute_and_pad_with_probs aligned to the 256-token CuTeDSL kernel requirement.
  • utils.py: Handles EP-aware DistributedSampler, manual DP gradient all-reduce, Accelerate wrapping, and the monkey-patch shim that enables the fused MXFP8 grouped-MLP kernel without recompiling TE.

Confidence Score: 4/5

Close to mergeable — the major routing, weight-loading, and distributed-training correctness issues from earlier rounds are all addressed.

The critical dispatch bugs (map_type, m_splits, deprecated probs kwarg, wrong num_out_tokens) are fixed, the DP sampler and gradient sync look correct, and dependency gaps are closed. Remaining findings are quality and performance suggestions that do not break correctness.

utils.py (dead total_loss accumulator, foreach=False optimizer regression for EP>1); te_mixtral.py (duplicated sort-index helper vs te_moe_dispatch.py)

Important Files Changed

FilenameOverview
docs/examples/te_mixtral/te_mixtral.pyCore BF16 TE Mixtral model; AllToAllTokenDispatcher correctly uses moe_permute(map_type=index) and moe_unpermute with matching map_type. Previously flagged m_splits, probs kwarg, and DTensor issues are addressed.
docs/examples/te_mixtral/te_mixtral_mxfp8.pyMXFP8 fused-MLP model; decode guard now keyed solely on seq-len==1, OrderedDict import fixed, variables initialised before conditional pack block.
docs/examples/te_mixtral/te_moe_dispatch.pyMXFP8 dispatcher using moe_permute_and_pad_with_probs; correctly pads to 256 for CuTeDSL kernel, _build_expert_sort_indices is torch-compiled and fullgraph-safe.
docs/examples/te_mixtral/utils.pyTraining utilities; DP gradient sync, EP-aware sampler, and warmup-step accounting now correct. foreach=False in build_adamw for EP>1 is overly conservative, and total_loss is accumulated but never reported.
docs/examples/te_mixtral/hf_to_te_weights.pyWeight-mapping from HF Mixtral to BF16 and MXFP8 TE state dicts; numeric sort key for weight{i} keys fixes the previous lexicographic-ordering bug.
docs/examples/te_mixtral/collator.pyTHD sequence-packing collator now ships with the PR, resolving the prior ImportError from bionemo_mixtral.
docs/examples/te_mixtral/requirements.txtAll previously missing deps (flash-attn, nvidia-cudnn-frontend>=1.23.0) are now present; wandb removed.
docs/examples/te_mixtral/test_accuracy.pyAccuracy parity test between HF and TE (BF16 + MXFP8); uses strict=False with explicit unexpected/missing-key checks.

Sequence Diagram

sequenceDiagram
participant HF as HF Mixtral weights
participant INIT as init_te_mixtral_model
participant MODEL as TEMixtralForCausalLM
participant DISP as AllToAllTokenDispatcher
participant TE as TE GroupedLinear
INIT->>HF: "from_pretrained device=cpu"
INIT->>MODEL: ForCausalLM(te_config).to(cuda)
INIT->>MODEL: replace_params(hf_sd, te_sd)
INIT->>MODEL: "load_state_dict strict=False"
INIT->>MODEL: set_ep_groups(ep_group)
MODEL->>DISP: set_ep_group(ep_group)
Note over MODEL,DISP: Forward pass training
MODEL->>DISP: dispatch(hidden, selected_experts, weights)
DISP->>DISP: "moe_permute map_type=index"
DISP-->>DISP: "all_to_all_single EP>1"
DISP->>DISP: _build_expert_sort_indices
DISP-->>MODEL: DispatchOutput
MODEL->>TE: _experts_ffn_op(expert_input, split_sizes)
TE-->>MODEL: expert_output
MODEL->>DISP: combine(expert_output, handle)
DISP-->>DISP: "reverse all_to_all EP>1"
DISP->>DISP: "moe_unpermute map_type=index"
DISP-->>MODEL: combined output N H
Loading

Reviews (52): Last reviewed commit: "fix none mask" | Re-trigger Greptile

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
@sudhakarsingh27

Copy link
Copy Markdown
Member

Thanks, @faradawn! Also adding @sbhavani to the discussion. Compared to other llama/gemma tutorials, this one seems a quite barebones and looks more like a code example than a tutorial. @sbhavani do you think in its current form, it covers the scope as you requested in #2573?

Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
Comment threaddocs/examples/te_mixtral/utils.py
@faradawn

Copy link
Copy Markdown
ContributorAuthor

Hi @sudhakarsingh27 can you check if this addresses your comments? Tested in 2x H100.

@sbhavani

Copy link
Copy Markdown
Collaborator

Thanks, @faradawn! Also adding @sbhavani to the discussion. Compared to other llama/gemma tutorials, this one seems a quite barebones and looks more like a code example than a tutorial. @sbhavani do you think in its current form, it covers the scope as you requested in #2573?

Agreed! I think any example should show some perf gain and include the whole weight mapping so the user can run the example.

@pggPLpggPL self-assigned this Apr 13, 2026
@pggPL

Copy link
Copy Markdown
Collaborator

Documentation build is not working, if you fix it please ping me and I'll review.

Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
Comment threaddocs/examples/te_mixtral/utils.py Outdated
Comment threaddocs/examples/te_mixtral/tutorial_accelerate_hf_mixtral_with_te.ipynb Outdated
Comment threaddocs/examples/te_mixtral/utils.py Outdated
Comment threaddocs/examples/te_mixtral/HANDOFF.md Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
Comment threaddocs/examples/te_mixtral/utils.py
@greptile-apps

Copy link
Copy Markdown
Contributor

Want your agent to iterate on Greptile's feedback? Try greploops.

Comment threaddocs/examples/te_mixtral/requirements.txt Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py
@faradawn

Copy link
Copy Markdown
ContributorAuthor

Hi @pggPL I've fixed the doc build and refined the content - can you help check?

Comment threaddocs/examples/te_mixtral/requirements.txt Outdated
Comment threaddocs/index.rst
@pggPL

Copy link
Copy Markdown
Collaborator

I was not reviewing it in detail, I would like to discuss on high-level flow of the tutorial first.
I see some issues:

  1. We use GroupedLinear with EP=8 and 8 experts, so 1 GroupedLinear is essentially having 1 expert, so it does not differ from using standard linear. Can we do EP=2 with 4 experts per each GPU or something like that.
  2. We use different types of parallelism in different tiers and it was not clear to me why. Maybe we can also use EP in HF if it is supported.
  3. The gains from Tier 1 -> Tier 2 are very huge, but Tier 2 -> Tier 3 -> Tier 4 are very small. Do you know why?

Apart of that it would be nice to prepare documentation (not tutorial) explaining why grouped linear is needed and which permute kernels we provide. I will work on that in different PR and it will land in Features section in our docs.

Comment on lines +847 to +855
if isinstance(past_key_values, InferenceParams):
# input_ids is None when the caller supplies inputs_embeds directly.
_ref = input_ids if input_ids is not None else inputs_embeds
lengths = (
attention_mask.sum(dim=1).tolist()
if attention_mask.shape[:2] == _ref.shape[:2]
else [1] * _ref.shape[0]
)
past_key_values.pre_step(OrderedDict(zip(list(range(len(lengths))), lengths)))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1attention_mask is None crash inside InferenceParams branch

attention_mask is an optional parameter with no None-guard before line 852. In the decode step of model.generate() the mask is frequently omitted, and attention_mask.shape[:2] will raise AttributeError: 'NoneType' object has no attribute 'shape', crashing every auto-regressive generation call.

ifisinstance(past_key_values, InferenceParams):
_ref=input_idsifinput_idsisnotNoneelseinputs_embedslengths= (
attention_mask.sum(dim=1).tolist()
ifattention_maskisnotNoneandattention_mask.shape[:2] ==_ref.shape[:2]
else [1] *_ref.shape[0]
)
past_key_values.pre_step(OrderedDict(zip(list(range(len(lengths))), lengths)))

Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated

@jberchtold-nvidiajberchtold-nvidia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Rebase is now fixed

@jberchtold-nvidia
jberchtold-nvidia dismissed their stale reviewMay 15, 2026 15:39

It is my own review and requested changes were resolved. However, the PR itself contains PyTorch usage so I should not give full approval on the PR

Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Comment threaddocs/examples/te_mixtral/utils.py Outdated
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Comment threaddocs/examples/te_mixtral/te_mixtral_mxfp8.py
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Comment threaddocs/examples/te_mixtral/run_finetune_ep.py Outdated
Comment threaddocs/examples/te_mixtral/run_finetune_ep.py Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
Comment threaddocs/examples/te_mixtral/te_mixtral.py Outdated
faradawnand others added 3 commits May 18, 2026 16:04
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Comment threaddocs/examples/te_mixtral/hf_to_te_weights.py
faradawnand others added 5 commits May 18, 2026 21:20
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Comment threaddocs/examples/te_mixtral/te_mixtral.py
Comment threaddocs/examples/te_mixtral/te_mixtral_mxfp8.py
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>

@sudhakarsingh27sudhakarsingh27 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm. Thanks!

@sudhakarsingh27
sudhakarsingh27 merged commit 937c4de into NVIDIA:mainMay 26, 2026
10 of 12 checks passed
KshitijLakhani pushed a commit that referenced this pull request May 27, 2026
* rebase and add mixtral moe example
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* edit tutorial wording and remove nvtx profiling markers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Address feedback for fused MLP and make table consistent
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add moe description and code snippet
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix image header and grammar
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add top2 expert in diagram, add perf verdict, and code highlight
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix grammar and code highlighting
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add here is the expected output
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add code highlight to mxfp8 and callout note
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* change nv mixtral to te
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* rename nv to te in all code
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add elif
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix Dtensor and address tiers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix d tensor
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix ordering of weights
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink 2nd
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* remove dtensor
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix none mask
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
---------
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Baibaifan pushed a commit to Baibaifan/TransformerEngine that referenced this pull request Jun 1, 2026
* rebase and add mixtral moe example
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* edit tutorial wording and remove nvtx profiling markers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Address feedback for fused MLP and make table consistent
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add moe description and code snippet
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix image header and grammar
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add top2 expert in diagram, add perf verdict, and code highlight
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix grammar and code highlighting
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add here is the expected output
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add code highlight to mxfp8 and callout note
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* change nv mixtral to te
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* rename nv to te in all code
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add elif
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix Dtensor and address tiers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix d tensor
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix ordering of weights
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink 2nd
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* remove dtensor
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix none mask
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
---------
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: yangfan.bai <yangfan.bai@shopee.com>
Baibaifan pushed a commit to Baibaifan/TransformerEngine that referenced this pull request Jun 1, 2026
* rebase and add mixtral moe example
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* edit tutorial wording and remove nvtx profiling markers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Address feedback for fused MLP and make table consistent
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add moe description and code snippet
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix image header and grammar
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add top2 expert in diagram, add perf verdict, and code highlight
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix grammar and code highlighting
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add here is the expected output
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add code highlight to mxfp8 and callout note
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* change nv mixtral to te
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* rename nv to te in all code
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* add elif
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix Dtensor and address tiers
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix d tensor
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix ordering of weights
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix backtick and hyperlink 2nd
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* remove dtensor
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
* fix none mask
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
---------
Signed-off-by: Faradawn Yang <73060648+faradawn@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sudhakar Singh <sudhakars@nvidia.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: yangfan.bai <yangfan.bai@shopee.com>
Sign up for freeto 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.

6 participants

@faradawn@sudhakarsingh27@sbhavani@pggPL@jberchtold-nvidia@vthumbe1503