CMakeLists.txt 1.84 KB
Newer Older
Li Zhang's avatar
Li Zhang committed
1
2
3
4
# Copyright (c) OpenMMLab. All rights reserved.

cmake_minimum_required(VERSION 3.8)

xiabo's avatar
xiabo committed
5
#add_subdirectory(fused_multi_head_attention)
Li Zhang's avatar
Li Zhang committed
6

xiabo's avatar
xiabo committed
7
8
#find_package(CUDAToolkit REQUIRED)
find_package(CUDA REQUIRED)
Chen Xin's avatar
Chen Xin committed
9

AllentDan's avatar
AllentDan committed
10
add_library(Llama STATIC
Li Zhang's avatar
Li Zhang committed
11
12
        LlamaV2.cc
        LlamaBatch.cc
Li Zhang's avatar
Li Zhang committed
13
14
        BlockManager.cc
        SequenceManager.cc
Li Zhang's avatar
Li Zhang committed
15
16
17
        LlamaWeight.cc
        LlamaDecoderLayerWeight.cc
        LlamaFfnLayer.cc
18
19
        unified_decoder.cc
        unified_attention_layer.cc
Li Zhang's avatar
Li Zhang committed
20
21
        llama_kernels.cu
        llama_decoder_kernels.cu
gaoqiong's avatar
gaoqiong committed
22
23
        llama_utils.cu
        ./awq_sugon/gemm_w4_dequation.cu)
xiabo's avatar
xiabo committed
24
25
26
27
28
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -fPIC")
#set_property(TARGET Llama PROPERTY POSITION_INDEPENDENT_CODE  ON)
#set_property(TARGET Llama PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS  ON)
target_link_libraries(Llama PUBLIC cudart
gaoqiong's avatar
gaoqiong committed
29
        gemm_s4_f16
Li Zhang's avatar
Li Zhang committed
30
31
32
33
        cublasMMWrapper
        DynamicDecodeLayer
        activation_kernels
        decoder_masked_multihead_attention
Li Zhang's avatar
Li Zhang committed
34
        decoder_multihead_attention
Li Zhang's avatar
Li Zhang committed
35
36
37
38
39
40
41
42
43
44
        bert_preprocess_kernels
        decoding_kernels
        unfused_attention_kernels
        custom_ar_kernels
        custom_ar_comm
        gpt_kernels
        tensor
        memory_utils
        nccl_utils
        cuda_utils
gaoqiong's avatar
gaoqiong committed
45
46
        logger
        gemm_multiB_int4)
xiabo's avatar
xiabo committed
47
#        llama_fmha)
Li Zhang's avatar
Li Zhang committed
48

q.yao's avatar
q.yao committed
49
if (NOT MSVC)
xiabo's avatar
xiabo committed
50
51
#        add_subdirectory(flash_attention2)
#        target_link_libraries(Llama PUBLIC flash_attention2)
q.yao's avatar
q.yao committed
52
53
endif()

Li Zhang's avatar
Li Zhang committed
54
add_executable(llama_gemm llama_gemm.cc)
55
target_link_libraries(llama_gemm PUBLIC -lrocblas cudart gpt_gemm_func memory_utils cuda_utils logger)
56
install(TARGETS llama_gemm DESTINATION ${CMAKE_SOURCE_DIR}/lmdeploy/bin)
Li Zhang's avatar
Li Zhang committed
57
58
59
60
61
62

find_package(Catch2 3 QUIET)
if (Catch2_FOUND)
        add_executable(test_cache_manager test_cache_manager.cc)
        target_link_libraries(test_cache_manager PRIVATE Llama Catch2::Catch2WithMain)
endif ()