CMakeLists.txt 10.6 KB
Newer Older
1
2
3
# ckProfiler
set(PROFILER_SOURCES
    profiler.cpp
Jing Zhang's avatar
Jing Zhang committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   #profile_gemm.cpp
   #profile_reduce.cpp
   #profile_groupnorm_bwd_data.cpp
   #profile_groupnorm_fwd.cpp
   #profile_layernorm_bwd_data.cpp
   #profile_layernorm_bwd_gamma_beta.cpp
   #profile_groupnorm_bwd_gamma_beta.cpp
   #profile_layernorm_fwd.cpp
   #profile_max_pool2d_fwd.cpp
   #profile_pool3d_fwd.cpp
   #profile_avg_pool3d_bwd.cpp
   #profile_max_pool3d_bwd.cpp
   #profile_avg_pool2d_bwd.cpp
   #profile_max_pool2d_bwd.cpp
   #profile_softmax.cpp
   #profile_batchnorm_fwd.cpp
   #profile_batchnorm_bwd.cpp
   #profile_batchnorm_infer.cpp
   #profile_conv_tensor_rearrange.cpp
   #profile_transpose.cpp
   #profile_permute_scale.cpp
25
)
26

Jing Zhang's avatar
Jing Zhang committed
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#if(SUPPORTED_GPU_TARGETS MATCHES "gfx9")
#  if(DTYPES MATCHES "fp32" OR DTYPES MATCHES "fp64" OR NOT DEFINED DTYPES)
#    list(APPEND PROFILER_SOURCES profile_contraction_bilinear.cpp)
#    list(APPEND PROFILER_SOURCES profile_contraction_scale.cpp)
#  endif()
#  if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
#    list(APPEND PROFILER_SOURCES profile_gemm_reduce.cpp)
#    list(APPEND PROFILER_SOURCES profile_batched_gemm_gemm.cpp)
#    list(APPEND PROFILER_SOURCES profile_batched_gemm_add_relu_gemm_add.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add_add_fastgelu.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add_fastgelu.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_streamk.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_fastgelu.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add_relu.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add_silu.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_add_relu_add_layernorm.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm_fixed_nk.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm_two_stage.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm_fastgelu.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm_tile_loop.cpp)
#    list(APPEND PROFILER_SOURCES profile_grouped_gemm_multiply_tile_loop.cpp)
#  endif()
#  list(APPEND PROFILER_SOURCES profile_gemm_multiply_add.cpp)
#  if(SUPPORTED_GPU_TARGETS MATCHES "gfx94")
#    list(APPEND PROFILER_SOURCES profile_gemm_multiply_multiply.cpp)
#    list(APPEND PROFILER_SOURCES profile_gemm_ab_scale.cpp)
#  endif()
#  list(APPEND PROFILER_SOURCES profile_batched_gemm.cpp)
#  list(APPEND PROFILER_SOURCES profile_batched_gemm_reduce.cpp)
#  list(APPEND PROFILER_SOURCES profile_gemm_add_multiply.cpp)
#  list(APPEND PROFILER_SOURCES profile_gemm_bias_add_reduce.cpp)
#  list(APPEND PROFILER_SOURCES profile_gemm_splitk.cpp)
   list(APPEND PROFILER_SOURCES profile_gemm_universal.cpp)
#  list(APPEND PROFILER_SOURCES profile_gemm_universal_reduce.cpp)
#  list(APPEND PROFILER_SOURCES profile_gemm_universal_streamk.cpp)
#  list(APPEND PROFILER_SOURCES profile_conv_fwd_bias_relu.cpp)
#  list(APPEND PROFILER_SOURCES profile_conv_fwd_bias_relu_add.cpp)
#  list(APPEND PROFILER_SOURCES profile_conv_bwd_data.cpp)
#  list(APPEND PROFILER_SOURCES profile_conv_fwd.cpp)
#  list(APPEND PROFILER_SOURCES profile_grouped_conv_fwd_outelementop.cpp)
#
#endif()
#
#if(SUPPORTED_GPU_TARGETS MATCHES "gfx11" OR SUPPORTED_GPU_TARGETS MATCHES "gfx12" OR SUPPORTED_GPU_TARGETS MATCHES "gfx9")
#  if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
#    list(APPEND PROFILER_SOURCES profile_gemm_bilinear.cpp)
#  endif()
#  list(APPEND PROFILER_SOURCES profile_grouped_conv_fwd.cpp)
#  list(APPEND PROFILER_SOURCES profile_grouped_conv_bwd_data.cpp)
#  list(APPEND PROFILER_SOURCES profile_grouped_conv_bwd_weight.cpp)
#endif()
#
#if(DL_KERNELS)
#  list(APPEND PROFILER_SOURCES profile_batched_gemm_multi_d.cpp)
#  list(APPEND PROFILER_SOURCES profile_grouped_conv_bwd_weight.cpp)
#endif()
85

86
87
88
89
set(PROFILER_EXECUTABLE ckProfiler)

add_executable(${PROFILER_EXECUTABLE} ${PROFILER_SOURCES})
target_compile_options(${PROFILER_EXECUTABLE} PRIVATE -Wno-global-constructors)
90
91
92
93
94
# flags to compress the library
if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 600241132)
  message("Adding --offload-compress flag for ${PROFILER_EXECUTABLE}")
  target_compile_options(${PROFILER_EXECUTABLE} PRIVATE --offload-compress)
endif()
95

96
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE utility getopt::getopt)
Jing Zhang's avatar
Jing Zhang committed
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_fwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_data_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_gamma_beta_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_softmax_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_reduce_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batchnorm_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_pool2d_fwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_pool3d_fwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_avg_pool2d_bwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_avg_pool3d_bwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_max_pool_bwd_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_image_to_column_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_column_to_image_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_transpose_instance)
#target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_permute_scale_instance)
#
#if(SUPPORTED_GPU_TARGETS MATCHES "gfx9")
#  if(DTYPES MATCHES "fp32" OR DTYPES MATCHES "fp64" OR NOT DEFINED DTYPES)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_contraction_bilinear_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_contraction_scale_instance)
#  endif()
#  if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_add_fastgelu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_fastgelu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_gemm_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_add_relu_gemm_add_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_streamk_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_fastgelu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_relu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_silu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_relu_add_layernorm_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_fixed_nk_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_fastgelu_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_tile_loop_instance)
#  endif()
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_reduce_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_multiply_add_instance)
#  if(SUPPORTED_GPU_TARGETS MATCHES "gfx94")
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_multiply_multiply_instance)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_ab_scale_instance)
#  endif()
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_splitk_instance)
   target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_reduce_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_streamk_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_multiply_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_reduce_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_bias_add_reduce_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_fwd_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_fwd_bias_relu_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_fwd_bias_relu_add_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv1d_fwd_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv1d_bwd_data_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv3d_bwd_data_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_bwd_data_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv1d_bwd_weight_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv2d_bwd_weight_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_convscale_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_convinvscale_instance)
#endif()
#
#if(SUPPORTED_GPU_TARGETS MATCHES "gfx9" OR SUPPORTED_GPU_TARGETS MATCHES "gfx11" OR SUPPORTED_GPU_TARGETS MATCHES "gfx12")
#  if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
#    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_bilinear_instance)
#  endif()
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv2d_bwd_data_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_bwd_data_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv2d_fwd_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_bwd_weight_instance)
#endif()
#
#if(DL_KERNELS)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_multi_d_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv1d_bwd_weight_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv2d_bwd_weight_instance)
#  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_bwd_weight_instance)
#endif()
179

180
rocm_install(TARGETS ${PROFILER_EXECUTABLE} COMPONENT profiler)