mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-10 00:25:01 +08:00
Signed-off-by: Varun Sundar Rabindranath <vsundarr@redhat.com> Co-authored-by: Varun Sundar Rabindranath <vsundarr@redhat.com>
54 lines
1.9 KiB
CMake
54 lines
1.9 KiB
CMake
# Install OpenAI triton_kernels from https://github.com/triton-lang/triton/tree/main/python/triton_kernels
|
|
|
|
set(DEFAULT_TRITON_KERNELS_TAG "v3.5.0")
|
|
|
|
# Set TRITON_KERNELS_SRC_DIR for use with local development with vLLM. We expect TRITON_KERNELS_SRC_DIR to
|
|
# be directly set to the triton_kernels python directory.
|
|
if (DEFINED ENV{TRITON_KERNELS_SRC_DIR})
|
|
message(STATUS "[triton_kernels] Fetch from $ENV{TRITON_KERNELS_SRC_DIR}")
|
|
FetchContent_Declare(
|
|
triton_kernels
|
|
SOURCE_DIR $ENV{TRITON_KERNELS_SRC_DIR}
|
|
)
|
|
|
|
else()
|
|
set(TRITON_GIT "https://github.com/triton-lang/triton.git")
|
|
message (STATUS "[triton_kernels] Fetch from ${TRITON_GIT}:${DEFAULT_TRITON_KERNELS_TAG}")
|
|
FetchContent_Declare(
|
|
triton_kernels
|
|
# TODO (varun) : Fetch just the triton_kernels directory from Triton
|
|
GIT_REPOSITORY https://github.com/triton-lang/triton.git
|
|
GIT_TAG ${DEFAULT_TRITON_KERNELS_TAG}
|
|
GIT_PROGRESS TRUE
|
|
SOURCE_SUBDIR python/triton_kernels/triton_kernels
|
|
)
|
|
endif()
|
|
|
|
# Fetch content
|
|
FetchContent_MakeAvailable(triton_kernels)
|
|
|
|
if (NOT triton_kernels_SOURCE_DIR)
|
|
message (FATAL_ERROR "[triton_kernels] Cannot resolve triton_kernels_SOURCE_DIR")
|
|
endif()
|
|
|
|
if (DEFINED ENV{TRITON_KERNELS_SRC_DIR})
|
|
set(TRITON_KERNELS_PYTHON_DIR "${triton_kernels_SOURCE_DIR}/")
|
|
else()
|
|
set(TRITON_KERNELS_PYTHON_DIR "${triton_kernels_SOURCE_DIR}/python/triton_kernels/triton_kernels/")
|
|
endif()
|
|
|
|
message (STATUS "[triton_kernels] triton_kernels is available at ${TRITON_KERNELS_PYTHON_DIR}")
|
|
|
|
add_custom_target(triton_kernels)
|
|
|
|
# Ensure the vllm/third_party directory exists before installation
|
|
install(CODE "file(MAKE_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/vllm/third_party/triton_kernels\")")
|
|
|
|
## Copy .py files to install directory.
|
|
install(DIRECTORY
|
|
${TRITON_KERNELS_PYTHON_DIR}
|
|
DESTINATION
|
|
vllm/third_party/triton_kernels/
|
|
COMPONENT triton_kernels
|
|
FILES_MATCHING PATTERN "*.py")
|