mirror of
https://github.com/huggingface/text-generation-inference.git
synced 2025-05-20 09:12:08 +00:00
83 lines
2.9 KiB
CMake
83 lines
2.9 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
project(tgi_trtllm_backend)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
include(ExternalProject)
|
|
|
|
# Projects user-defined variables
|
|
set(TGI_TRTLLM_BACKEND_TRTLLM_ROOT_DIR CACHE PATH "Root path where to find TensorRT-LLM")
|
|
|
|
# Project variables
|
|
set(TGI_TRTLLM_BACKEND_SOURCES backend.cpp)
|
|
|
|
if (NOT EXISTS ${TGI_TRTLLM_BACKEND_TRTLLM_ROOT_DIR})
|
|
message(FATAL_ERROR "Cannot find TensorRT-LLM at ${TGI_TRTLLM_BACKEND_TRTLLM_ROOT_DIR}")
|
|
endif ()
|
|
|
|
message(STATUS "Found TensorRT-LLM ${TGI_TRTLLM_BACKEND_TRTLLM_ROOT_DIR}")
|
|
|
|
# Set some TensorRT-LLM specific variables
|
|
set(TRTLLM_ROOT_DIR ${TGI_TRTLLM_BACKEND_TRTLLM_ROOT_DIR})
|
|
set(TRTLLM_INCLUDE_DIR "${TRTLLM_ROOT_DIR}/include")
|
|
set(TRTLLM_SOURCES_DIR "${TRTLLM_ROOT_DIR}/cpp")
|
|
|
|
# Ensure CUDA is found
|
|
find_package(CUDAToolkit REQUIRED)
|
|
message(STATUS "CUDA library status:")
|
|
message(STATUS " version: ${CUDAToolkit_VERSION}")
|
|
message(STATUS " libraries: ${CUDAToolkit_LIBRARY_DIR}")
|
|
message(STATUS " include path: ${CUDAToolkit_INCLUDE_DIRS}")
|
|
|
|
#include(${TRTLLM_ROOT_DIR}/cpp/cmake/modules/set_ifndef.cmake)
|
|
#include(${TRTLLM_ROOT_DIR}/cpp/cmake/modules/find_library_create_target.cmake)
|
|
#
|
|
#set(CMAKE_CXX_FLAGS "-Wall -pthread -lstdc++")
|
|
#set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
|
#
|
|
## TRT dependencies
|
|
#set_ifndef(TRT_LIB_DIR ${CMAKE_BINARY_DIR})
|
|
#set_ifndef(TRT_INCLUDE_DIR /usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu)
|
|
#set(TRT_LIB nvinfer)
|
|
## On Windows major version is appended to nvinfer libs.
|
|
#if (WIN32)
|
|
# set(TRT_LIB_NAME nvinfer_10)
|
|
#else ()
|
|
# set(TRT_LIB_NAME nvinfer)
|
|
#endif ()
|
|
#find_library_create_target(${TRT_LIB} ${TRT_LIB_NAME} SHARED ${TRT_LIB_DIR})
|
|
#message(${TRT_INCLUDE_DIR})
|
|
#include_directories("${TRT_INCLUDE_DIR}")
|
|
#
|
|
#if (${CUDAToolkit_VERSION} VERSION_GREATER_EQUAL "11")
|
|
# add_definitions("-DENABLE_BF16")
|
|
# message(
|
|
# STATUS
|
|
# "CUDA_VERSION ${CUDA_VERSION} is greater or equal than 11.0, enable -DENABLE_BF16 flag"
|
|
# )
|
|
#endif ()
|
|
#
|
|
#if (${CUDAToolkit_VERSION} VERSION_GREATER_EQUAL "11.8")
|
|
# add_definitions("-DENABLE_FP8")
|
|
# message(
|
|
# STATUS
|
|
# "CUDA_VERSION ${CUDA_VERSION} is greater or equal than 11.8, enable -DENABLE_FP8 flag"
|
|
# )
|
|
#endif ()
|
|
#
|
|
## tensorrt_llm shared lib
|
|
#add_library(tensorrt_llm SHARED IMPORTED)
|
|
#set_property(TARGET tensorrt_llm PROPERTY IMPORTED_LOCATION ${TRTLLM_LIB_PATH})
|
|
#set_property(
|
|
# TARGET tensorrt_llm PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES
|
|
# CUDA::cuda_driver CUDA::cudart_static CUDA::nvml)
|
|
#
|
|
## nvinfer_plugin_tensorrt_llm shared lib
|
|
#add_library(nvinfer_plugin_tensorrt_llm SHARED IMPORTED)
|
|
#set_property(TARGET nvinfer_plugin_tensorrt_llm PROPERTY IMPORTED_LOCATION ${TRTLLM_PLUGIN_PATH})
|
|
#set_property(TARGET nvinfer_plugin_tensorrt_llm PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES tensorrt_llm)
|
|
#
|
|
#include_directories(${TRTLLM_INCLUDE_DIR} ${CUDAToolkit_INCLUDE_DIRS})
|
|
|
|
add_library(tgi_trtllm_backend ${TGI_TRTLLM_BACKEND_SOURCES})
|
|
target_link_libraries(tgi_trtllm_backend) |