[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.

Assessment

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

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.

Description

bug

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.

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

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.

More from NVIDIA/TensorRT-Edge-LLM

All issues in NVIDIA/TensorRT-Edge-LLM

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.