NVIDIA / NVIDIA/TensorRT-Edge-LLM
[v0.9.0] Compile error: incorrect kernel module type names in cuteDslNvfp4MoeSm110Runner
Nobody has claimed this yet.
- 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
- Clone the repository and check out the
mainbranch (commit1ac0f2b, release 0.9.0). - Build with
CUTE_DSL_NVFP4_MOE_ENABLEDtargeting 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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