NVIDIA / NVIDIA/TensorRT-Edge-LLM

[v0.9.0] Compile error: incorrect kernel module type names in cuteDslNvfp4MoeSm110Runner

Open Beginner friendly
#125 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
563
Forks
135
Avg merge
14h 13m
Merged PRs (30d)
1

Description

Describe the bug

Compilation fails when building with CUTE_DSL_NVFP4_MOE_ENABLED enabled. The three kernel module type names used in cuteDslNvfp4MoeSm110Runner.h and cuteDslNvfp4MoeSm110Runner.cpp contain a sm110_ prefix that does not exist in the CuTe-DSL artifact headers included via cutedsl_all.h. Additionally, the FC1-related types are missing the _fp16 suffix. This is a blocker — the build cannot proceed.

Error message:

In file included from .../cuteDslNvfp4MoeSm110Runner.cpp:20:
.../cuteDslNvfp4MoeSm110Runner.h:117:12: error: 'nvfp4_moe_sm110_fc1_relu2_n128_Kernel_Module_t' does not name a type;
  did you mean 'nvfp4_moe_fc1_relu2_n128_fp16_Kernel_Module_t'?
  117 |     static nvfp4_moe_sm110_fc1_relu2_n128_Kernel_Module_t sFC1Relu2N128;

Type name mismatch:

File Incorrect type name (used in runner) Correct type name (defined in artifact headers)
cuteDslNvfp4MoeSm110Runner.h:117 / .cpp:39 nvfp4_moe_sm110_fc1_relu2_n128_Kernel_Module_t nvfp4_moe_fc1_relu2_n128_fp16_Kernel_Module_t
cuteDslNvfp4MoeSm110Runner.h:118 / .cpp:40 nvfp4_moe_sm110_fc1_swiglu_n128_Kernel_Module_t nvfp4_moe_fc1_swiglu_n128_fp16_Kernel_Module_t
cuteDslNvfp4MoeSm110Runner.h:119 / .cpp:41 nvfp4_moe_sm110_fc2_n128_fp16_Kernel_Module_t nvfp4_moe_fc2_n128_fp16_Kernel_Module_t

The correct type names are defined under cpp/kernels/cuteDSLArtifact/aarch64/sm_110/include/ (nvfp4_moe_fc1_relu2_n128_fp16.h, nvfp4_moe_fc1_swiglu_n128_fp16.h, nvfp4_moe_fc2_n128_fp16.h).

Suggested fix: Remove the sm110_ prefix from all three type names in both files, and add the missing _fp16 suffix to the two FC1 type names.

Steps/Code to reproduce bug
  1. Clone the repository and check out the main branch (commit 1ac0f2b, release 0.9.0).
  2. Build with CUTE_DSL_NVFP4_MOE_ENABLED targeting SM110 (e.g., Jetson Thor).

Build configuration:

cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DTRT_PACKAGE_DIR=/path/to/TensorRT \
  -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64_linux_toolchain.cmake \
  -DEMBEDDED_TARGET=jetson-thor

Runtime command used:

# Build fails at compile time; no runtime command can be reached.
make -j$(nproc)
Expected behavior

cuteDslNvfp4MoeSm110Runner.cpp should compile successfully when CUTE_DSL_NVFP4_MOE_ENABLED is defined. The three kernel module type names in the runner should match those declared in the CuTe-DSL artifact headers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with cuteDslNvfp4MoeSm110Runner.h lines 117-119 and the matching declarations in cuteDslNvfp4MoeSm110Runner.cpp lines 39-41. Compare them with the CuTe-DSL headers under cpp/kernels/cuteDSLArtifact/aarch64/sm_110/include/, then build with CUTE_DSL_NVFP4_MOE_ENABLED; done means the runner compiles with all three artifact type names resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.