TensorRT-LLMs/cpp/tensorrt_llm/nanobind/CMakeLists.txt
Iman Tabrizian dd74f90914
[https://nvbugs/5887893][fix] Make NVML work with older CUDA driver versions (#11465)
Signed-off-by: Iman Tabrizian <10105175+tabrizian@users.noreply.github.com>
2026-02-12 18:06:47 -05:00

79 lines
2.4 KiB
CMake
Executable File

set(TRTLLM_NB_MODULE bindings)
set(TRTLLM_NB_MODULE
${TRTLLM_NB_MODULE}
PARENT_SCOPE)
set(SRCS
batch_manager/algorithms.cpp
batch_manager/bindings.cpp
batch_manager/buffers.cpp
batch_manager/cacheTransceiver.cpp
batch_manager/kvCacheConnector.cpp
batch_manager/kvCacheManager.cpp
batch_manager/kvCacheManagerV2Utils.cpp
batch_manager/llmRequest.cpp
common/tllmExceptions.cpp
executor/bindings.cpp
executor/executor.cpp
executor/executorConfig.cpp
executor/request.cpp
process_group/bindings.cpp
runtime/bindings.cpp
runtime/hostfunc.cpp
runtime/moeBindings.cpp
testing/modelSpecBinding.cpp
userbuffers/bindings.cpp
thop/bindings.cpp
../runtime/ipcNvlsMemory.cu
bindings.cpp)
include_directories(${PROJECT_SOURCE_DIR}/include)
# NOSTRIP: Disable stripping for BOLT compatibility (requires --emit-relocs)
if(ENABLE_BOLT_COMPATIBLE)
nanobind_add_module(${TRTLLM_NB_MODULE} NOSTRIP ${SRCS})
else()
nanobind_add_module(${TRTLLM_NB_MODULE} ${SRCS})
endif()
set_property(TARGET ${TRTLLM_NB_MODULE} PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_directories(${TRTLLM_NB_MODULE} PUBLIC
"${TORCH_INSTALL_PREFIX}/lib")
if(ENABLE_NVSHMEM)
target_link_libraries(${TRTLLM_NB_MODULE} PUBLIC nvshmem::nvshmem_host
nvshmem::nvshmem_device)
endif()
target_link_libraries(
${TRTLLM_NB_MODULE}
PUBLIC ${SHARED_TARGET}
${Python3_LIBRARIES}
${TORCH_LIBRARIES}
torch_python
${CUDA_DRV_LIB}
th_common
pg_utils)
target_compile_definitions(
${TRTLLM_NB_MODULE} PUBLIC TRTLLM_NB_MODULE=${TRTLLM_NB_MODULE}
PYBIND11_DETAILED_ERROR_MESSAGES=1)
if(NOT WIN32)
set(TRTLLM_NB_MODULE_RPATH_LIST
"$ORIGIN/libs" # TRTLLM libraries
"$ORIGIN/../../.." # Shared libraries under $PREFIX/lib
"$ORIGIN/../nvidia/nccl/lib" # NCCL libraries
)
set_target_properties(${TRTLLM_NB_MODULE}
PROPERTIES BUILD_RPATH "${TRTLLM_NB_MODULE_RPATH_LIST}")
set_target_properties(
${TRTLLM_NB_MODULE} PROPERTIES LINK_FLAGS
"${AS_NEEDED_FLAG} ${UNDEFINED_FLAG}")
endif()
# Build transfer_agent_binding when building bindings (if NIXL is enabled)
if(TARGET ${TRANSFER_AGENT_BINDING_TARGET})
add_dependencies(${TRTLLM_NB_MODULE} ${TRANSFER_AGENT_BINDING_TARGET})
endif()