CMakeLists.txt 5.12 KB
Newer Older
Li Zhang's avatar
Li Zhang committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Copyright (c) 2019-2023, NVIDIA CORPORATION.  All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
cmake_minimum_required(VERSION 3.8)

xiabo's avatar
xiabo committed
16
17
#find_package(CUDAToolkit REQUIRED)
find_package(CUDA REQUIRED)
Chen Xin's avatar
Chen Xin committed
18

Li Zhang's avatar
Li Zhang committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
set(gemm_func_files
  gemm_func.cc
)

set(encoder_gemm_func_files
  encoder_gemm_func.cc
)

set(encoder_igemm_func_files
  encoder_igemm_func.cc
)

set(decoding_gemm_func_files
  decoding_gemm_func.cc
)

set(gpt_gemm_func_files
  gpt_gemm_func.cc
)

set(xlnet_gemm_func_files
  xlnet_gemm_func.cc
)

set(t5_gemm_func_files
  t5_gemm_func.cc
)

set(swin_igemm_func_files
  swin_igemm_func.cc
)

set(swin_gemm_func_files
  swin_gemm_func.cc
)

xiabo's avatar
xiabo committed
55
56
57
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -fPIC")

Li Zhang's avatar
Li Zhang committed
58
add_library(gemm_func STATIC ${gemm_func_files})
xiabo's avatar
xiabo committed
59
60
61
62
#target_link_libraries(gemm_func PUBLIC cublas cublasLt cudart cuda_utils logger)
target_link_libraries(gemm_func PUBLIC cublas cudart cuda_utils logger)
#set_property(TARGET gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
63
64

add_library(encoder_gemm_func STATIC ${encoder_gemm_func_files})
xiabo's avatar
xiabo committed
65
66
#target_link_libraries(encoder_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(encoder_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
Li Zhang's avatar
Li Zhang committed
67
if (SPARSITY_SUPPORT)
xiabo's avatar
xiabo committed
68
target_link_libraries(encoder_gemm_func PUBLIC cusparse -lcusparseLt)
Li Zhang's avatar
Li Zhang committed
69
endif()
xiabo's avatar
xiabo committed
70
71
#set_property(TARGET encoder_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET encoder_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
72
73

add_library(encoder_igemm_func STATIC ${encoder_igemm_func_files})
xiabo's avatar
xiabo committed
74
75
#target_link_libraries(encoder_igemm_func PUBLIC cublas cublasLt cudart cuda_utils logger)
target_link_libraries(encoder_igemm_func PUBLIC cublas cudart cuda_utils logger)
Li Zhang's avatar
Li Zhang committed
76
if (SPARSITY_SUPPORT)
xiabo's avatar
xiabo committed
77
target_link_libraries(encoder_igemm_func PUBLIC cusparse -lcusparseLt)
Li Zhang's avatar
Li Zhang committed
78
endif()
xiabo's avatar
xiabo committed
79
80
#set_property(TARGET encoder_igemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET encoder_igemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
81
82

add_library(decoding_gemm_func STATIC ${decoding_gemm_func_files})
xiabo's avatar
xiabo committed
83
84
85
86
#target_link_libraries(decoding_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(decoding_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
#set_property(TARGET decoding_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET decoding_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
87
88

add_library(gpt_gemm_func STATIC ${gpt_gemm_func_files})
xiabo's avatar
xiabo committed
89
90
#target_link_libraries(gpt_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(gpt_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
Li Zhang's avatar
Li Zhang committed
91
if (SPARSITY_SUPPORT)
xiabo's avatar
xiabo committed
92
  target_link_libraries(gpt_gemm_func PUBLIC cusparse -lcusparseLt)
Li Zhang's avatar
Li Zhang committed
93
endif()
xiabo's avatar
xiabo committed
94
95
#set_property(TARGET gpt_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET gpt_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
96
97

add_library(xlnet_gemm_func STATIC ${xlnet_gemm_func_files})
xiabo's avatar
xiabo committed
98
99
100
101
#target_link_libraries(xlnet_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(xlnet_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
#set_property(TARGET xlnet_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET xlnet_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
102
103

add_library(t5_gemm_func STATIC ${t5_gemm_func_files})
xiabo's avatar
xiabo committed
104
105
#target_link_libraries(t5_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(t5_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
Li Zhang's avatar
Li Zhang committed
106
if (SPARSITY_SUPPORT)
xiabo's avatar
xiabo committed
107
  target_link_libraries(t5_gemm_func PUBLIC cusparse -lcusparseLt)
Li Zhang's avatar
Li Zhang committed
108
endif()
xiabo's avatar
xiabo committed
109
110
#set_property(TARGET t5_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET t5_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
111
112

add_library(swin_igemm_func STATIC ${swin_igemm_func_files})
xiabo's avatar
xiabo committed
113
114
115
116
#target_link_libraries(swin_igemm_func PUBLIC cublas cublasLt cudart gemm_func encoder_igemm_func cuda_utils logger)
target_link_libraries(swin_igemm_func PUBLIC cublas cudart gemm_func encoder_igemm_func cuda_utils logger)
#set_property(TARGET swin_igemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET swin_igemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
Li Zhang's avatar
Li Zhang committed
117
118

add_library(swin_gemm_func STATIC ${swin_gemm_func_files})
xiabo's avatar
xiabo committed
119
120
121
122
#target_link_libraries(swin_gemm_func PUBLIC cublas cublasLt cudart gemm_func cuda_utils logger)
target_link_libraries(swin_gemm_func PUBLIC cublas cudart gemm_func cuda_utils logger)
#set_property(TARGET swin_gemm_func PROPERTY POSITION_INDEPENDENT_CODE ON)
#set_property(TARGET swin_gemm_func PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)