46 lines
1.3 KiB
CMake
46 lines
1.3 KiB
CMake
# Copyright 2026 The xLLM Authors. All Rights Reserved.
|
|
# Commit: 494f293b5629 · feat · PR #2260 (adapted for Iluvatar BI-V100)
|
|
|
|
cmake_minimum_required(VERSION 3.18)
|
|
|
|
# ---------- layerwise split KV cache library ----------
|
|
add_library(layerwise_split_kv STATIC
|
|
framework/kv_cache/kv_cache_layerwise.cpp
|
|
framework/kv_cache/kv_cache_estimation_layerwise.cpp
|
|
framework/parallel_state/mapping_ilu.cpp
|
|
distributed_runtime/layerwise_split_engine_ext.cpp
|
|
distributed_runtime/layerwise_split_master.cpp
|
|
runtime/worker_layerwise_init.cpp
|
|
config/parallel_config_layerwise.cpp
|
|
)
|
|
|
|
target_include_directories(layerwise_split_kv PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/..
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
target_link_libraries(layerwise_split_kv PUBLIC
|
|
gflags
|
|
glog::glog
|
|
torch
|
|
)
|
|
|
|
# Iluvatar BI-V100 build: define USE_ILU
|
|
if(USE_ILU)
|
|
target_compile_definitions(layerwise_split_kv PUBLIC USE_ILU)
|
|
endif()
|
|
|
|
# ---------- tests ----------
|
|
if(BUILD_TESTING)
|
|
add_executable(test_layerwise_split
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../tests/core/test_layerwise_split_kv_cache.cpp
|
|
)
|
|
target_link_libraries(test_layerwise_split PRIVATE
|
|
layerwise_split_kv
|
|
GTest::gtest_main
|
|
gflags
|
|
glog::glog
|
|
)
|
|
add_test(NAME LayerwiseSplitKVTests COMMAND test_layerwise_split)
|
|
endif()
|