ENABLE_CUTE_DSL=OFF does not compile: runPadding stub does not match its declaration

Abierto Apto para principiantes
#268 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

@akhil9tiet ya está trabajando en esto.

Desde el 1/11/2026.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cmake, cpp
Área
build-system

Línea de trabajo

La discrepancia está entre la declaración de runPadding en cpp/kernels/contextAttentionKernels/cuteDslFMHAV2Runner.h, que está fuera del guard CUTE_DSL_FMHA_ENABLED, y el stub de la rama deshabilitada en cuteDslFMHAV2Runner.cpp cerca de la línea 1119. Compara la lista de parámetros del stub con la declaración y ajústala, dejando el cuerpo devolviendo false. Está terminado cuando una compilación con -DENABLE_CUTE_DSL=OFF supera ese archivo; los stubs hermanos de la misma rama muestran el estilo esperado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Summary

The QNX cross-compilation command in the installation guide does not compile. The
guide passes -DENABLE_CUTE_DSL=OFF, and that configuration fails with a
"no declaration matches" error.

This blocks the whole documented QNX build, including the components the guide
says are cross-compilable (those implemented entirely with TensorRT-native or
CUDA operators).

Error

cpp/kernels/contextAttentionKernels/cuteDslFMHAV2Runner.cpp:1119:6: error: no declaration matches
'bool trt_edgellm::CuteDslFMHARunner::runPadding(const void*, const void*,
 const void*, void*, const int32_t*, const int32_t*, cudaStream_t, float)'
compilation terminated due to -Wfatal-errors.

Cause

cpp/kernels/contextAttentionKernels/cuteDslFMHAV2Runner.h declares runPadding
with the blockBegin/blockEnd parameters:

    bool runPadding(void const* qPtr, void const* kPtr, void const* vPtr, void* oPtr, int32_t const* cuQSeqLens,
        int32_t const* cuKVSeqLens, cudaStream_t stream, float attentionScale, int32_t const* blockBegin = nullptr,
        int32_t const* blockEnd = nullptr);

That declaration sits outside the CUTE_DSL_FMHA_ENABLED guard, so it is
visible in every configuration. The disabled-CuTe-DSL branch of the .cpp defines
a stub with the older eight-parameter signature:

bool CuteDslFMHARunner::runPadding(
    void const*, void const*, void const*, void*, int32_t const*, int32_t const*, cudaStream_t, float)
{
    return false;
}

The two no longer match, so the stub cannot be defined.

The sibling stubs in the same branch are all still in sync with their
declarations — run() takes 5 parameters, runPaged() 11, runPagedRagged()
13, runVisionBlock() 8. Only runPadding drifted, when blockBegin/blockEnd
were added to the declaration and to the real implementation but not to the stub.

Suggested fix

Give the stub the same signature as the declaration:

bool CuteDslFMHARunner::runPadding(void const*, void const*, void const*, void*, int32_t const*, int32_t const*,
    cudaStream_t, float, int32_t const*, int32_t const*)
{
    return false;
}

This is a compile fix only. The stub still returns false, so no runtime
behaviour changes.

Verification

Built for QNX Standard 8.0 (aarch64le) with the setting this issue is about:

export QNX_HOST=/path/to/qnx800/host/linux/x86_64
export QNX_TARGET=/path/to/qnx800/target/qnx

cmake -S . -B build-qnx \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64_qnx_toolchain.cmake \
    -DTRT_PACKAGE_DIR=/path/to/tensorrt-qnx \
    -DCUDA_CTK_VERSION=13.2 \
    -DCUDA_TOOLKIT_ROOT=/usr/local/cuda-13.2 \
    -DQNX_CUDA_TARGET_ROOT=/usr/local/cuda-safe-13.2 \
    -DENABLE_CUTE_DSL=OFF

cmake --build build-qnx --parallel "$(nproc)"

Before the fix the build stops at the error quoted above. After it the build
completes and produces libNvInfer_edgellm_plugin.so.1.0,
examples/llm/llm_build and examples/llm/llm_inference.

Impact

Only the ENABLE_CUTE_DSL=OFF configuration is affected. The CuTe-DSL-enabled
path compiles the real implementation and never sees the stub.

ENABLE_CUTE_DSL=OFF is what the QNX cross-compilation instructions specify,
so as things stand the documented QNX build produces no binaries at all — not
even the TensorRT-native / CUDA-operator components the guide says can be
cross-compiled.

Environment

  • QNX SDP 8.0 (aarch64le), CUDA Toolkit 13.2, TensorRT 10.16.0.72
  • Commit: 358de11 (v0.11.1)
Lenguaje dominante
Python
Estrellas
604
Forks
145
Merge medio
2 d 19 h
PR fusionados (30 d)
5

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/TensorRT-Edge-LLM

Todos los issues de NVIDIA/TensorRT-Edge-LLM

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.