2024-07-19 22:08:12 +00:00
|
|
|
set(TRT_INCLUDE_DIR ${TGI_TRTLLM_BACKEND_TRT_INCLUDE_DIR})
|
|
|
|
set(TRT_LIB_DIR ${TGI_TRTLLM_BACKEND_TRT_LIB_DIR})
|
|
|
|
|
2024-07-03 08:27:53 +00:00
|
|
|
set(USE_CXX11_ABI ON)
|
2024-07-02 15:16:27 +00:00
|
|
|
set(NVTX_DISABLE OFF)
|
|
|
|
set(BUILD_PYT OFF)
|
|
|
|
set(BUILD_PYBIND OFF)
|
|
|
|
set(BUILD_MICRO_BENCHMARKS OFF)
|
|
|
|
set(BUILD_BENCHMARKS OFF)
|
|
|
|
set(BUILD_TESTS OFF)
|
|
|
|
set(CMAKE_CUDA_ARCHITECTURES ${TGI_TRTLLM_BACKEND_TARGET_CUDA_ARCH_LIST})
|
|
|
|
|
|
|
|
message(STATUS "Building for CUDA Architectures: ${CMAKE_CUDA_ARCHITECTURES}")
|
|
|
|
|
|
|
|
if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
|
|
|
set(FAST_BUILD ON)
|
|
|
|
else ()
|
|
|
|
set(FAST_BUILD OFF)
|
2024-07-19 22:08:12 +00:00
|
|
|
set(FAST_MATH ON)
|
2024-07-02 15:16:27 +00:00
|
|
|
endif ()
|
|
|
|
|
|
|
|
fetchcontent_declare(
|
|
|
|
trtllm
|
2024-07-16 20:08:10 +00:00
|
|
|
GIT_REPOSITORY https://github.com/NVIDIA/TensorRT-LLM.git
|
|
|
|
GIT_TAG 9691e12bce7ae1c126c435a049eb516eb119486c
|
|
|
|
GIT_SHALLOW FALSE
|
2024-07-02 15:16:27 +00:00
|
|
|
)
|
|
|
|
fetchcontent_makeavailable(trtllm)
|
2024-07-22 08:43:10 +00:00
|
|
|
|
2024-07-02 15:16:27 +00:00
|
|
|
message(STATUS "Found TensorRT-LLM: ${trtllm_SOURCE_DIR}")
|
2024-07-03 08:27:53 +00:00
|
|
|
execute_process(COMMAND git lfs install WORKING_DIRECTORY "${trtllm_SOURCE_DIR}/")
|
2024-07-02 15:16:27 +00:00
|
|
|
execute_process(COMMAND git lfs pull WORKING_DIRECTORY "${trtllm_SOURCE_DIR}/")
|
2024-07-22 09:33:38 +00:00
|
|
|
|
|
|
|
# TRTLLM use a JIT based *precompiled* library to generate some specific kernels, we are generating the path to this one here
|
|
|
|
if (WIN32)
|
|
|
|
set(TRTLLM_NVRTC_LIBRARY_NAME "tensorrt_llm_nvrtc_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "nvrtc wrapper library name")
|
|
|
|
else ()
|
|
|
|
set(TRTLLM_NVRTC_LIBRARY_NAME "libtensorrt_llm_nvrtc_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "nvrtc wrapper library name")
|
|
|
|
endif ()
|
|
|
|
set(
|
|
|
|
TRTLLM_NVRTC_WRAPPER_PATH
|
|
|
|
"${trtllm_SOURCE_DIR}/cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/nvrtcWrapper/${CMAKE_LIBRARY_ARCHITECTURE}/${TRTLLM_NVRTC_LIBRARY_NAME}"
|
|
|
|
CACHE INTERNAL "nvrtc wrapper library path"
|
|
|
|
)
|
|
|
|
|