Skip to content

Fix CUDA minimal build requiring CUDNN_HOME#27308

Merged
tianleiwu merged 1 commit intomicrosoft:mainfrom
ingyukoh:fix/cuda-minimal-cudnn-optional
Feb 12, 2026
Merged

Fix CUDA minimal build requiring CUDNN_HOME#27308
tianleiwu merged 1 commit intomicrosoft:mainfrom
ingyukoh:fix/cuda-minimal-cudnn-optional

Conversation

@ingyukoh
Copy link
Contributor

When building with onnxruntime_CUDA_MINIMAL=ON, cuDNN is not needed since minimal CUDA
builds only use basic CUDA runtime (e.g., for TensorRT-only builds). Skip cuDNN.cmake
inclusion and CUDNN_INCLUDE_DIR references when CUDA_MINIMAL is enabled.

Fixes #24361

Description

Make cuDNN dependency conditional on NOT onnxruntime_CUDA_MINIMAL:

  • cmake/external/onnxruntime_external_deps.cmake: Skip include(cuDNN)
  • cmake/onnxruntime_python.cmake: Skip CUDNN_INCLUDE_DIR in include paths
  • cmake/onnxruntime_unittests.cmake: Skip CUDNN_INCLUDE_DIR in two places

Motivation and Context

When building with onnxruntime_CUDA_MINIMAL=ON (e.g., TensorRT-only builds), the build
fails with:
CMake Error at external/cuDNN.cmake:3 (find_path):
Could not find CUDNN_INCLUDE_DIR using the following files: cudnn.h

cuDNN is not needed for minimal CUDA builds since TensorRT has its own optimized kernels.
This fix allows building without setting CUDNN_HOME.

When building with onnxruntime_CUDA_MINIMAL=ON, cuDNN is not needed
since minimal CUDA builds only use basic CUDA runtime (e.g., for
TensorRT-only builds). Skip cuDNN.cmake inclusion and CUDNN_INCLUDE_DIR
references when CUDA_MINIMAL is enabled.

Fixes microsoft#24361
@tianleiwu
Copy link
Contributor

/azp run Linux QNN CI Pipeline, Win_TRT_Minimal_CUDA_Test_CI, Windows ARM64 QNN CI Pipeline,
Windows GPU Doc Gen CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@tianleiwu tianleiwu merged commit d7f32e2 into microsoft:main Feb 12, 2026
88 of 89 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Build] CUDA Minimal build still needs CUDNN_HOME to be specified

2 participants