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

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
if(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)
46
    list(APPEND PROFILER_SOURCES profile_grouped_gemm_two_stage.cpp)
47
    list(APPEND PROFILER_SOURCES profile_grouped_gemm_fastgelu.cpp)
48
    list(APPEND PROFILER_SOURCES profile_grouped_gemm_tile_loop.cpp)
49
    list(APPEND PROFILER_SOURCES profile_grouped_gemm_multiply_tile_loop.cpp)
50
51
  endif()
  list(APPEND PROFILER_SOURCES profile_gemm_multiply_add.cpp)
52
53
54
55
  if(GPU_TARGETS MATCHES "gfx94")
    list(APPEND PROFILER_SOURCES profile_gemm_multiply_multiply.cpp)
    list(APPEND PROFILER_SOURCES profile_gemm_ab_scale.cpp)
  endif()
56
57
58
59
60
  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)
61
  list(APPEND PROFILER_SOURCES profile_gemm_universal.cpp)
62
  list(APPEND PROFILER_SOURCES profile_gemm_universal_reduce.cpp)
63
  list(APPEND PROFILER_SOURCES profile_gemm_universal_streamk.cpp)
64
65
66
67
  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)
68
  list(APPEND PROFILER_SOURCES profile_grouped_conv_fwd_outelementop.cpp)
69

70
endif()
71

72
if(GPU_TARGETS MATCHES "gfx11" OR GPU_TARGETS MATCHES "gfx12" OR GPU_TARGETS MATCHES "gfx9")
73
74
75
76
77
78
  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)
79
endif()
80

81
82
83
if(DL_KERNELS)
  list(APPEND PROFILER_SOURCES profile_batched_gemm_multi_d.cpp)
  list(APPEND PROFILER_SOURCES profile_grouped_conv_bwd_weight.cpp)
84
85
endif()

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)
97
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_instance)
rocking's avatar
rocking committed
98
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_fwd_instance)
99
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_data_instance)
100
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_gamma_beta_instance)
101
102
103
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)
jakpiase's avatar
jakpiase committed
104
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_pool2d_fwd_instance)
rocking's avatar
rocking committed
105
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_pool3d_fwd_instance)
106
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_avg_pool2d_bwd_instance)
107
108
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_avg_pool3d_bwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_max_pool_bwd_instance)
109
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_image_to_column_instance)
110
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_column_to_image_instance)
arai713's avatar
arai713 committed
111
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_transpose_instance)
112
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_permute_scale_instance)
113

114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
if(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)
133
    target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_tile_loop_instance)
134
135
136
137
  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)
138
139
140
141
  if(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()
142
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_splitk_instance)
143
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_instance)
144
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_reduce_instance)
145
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_universal_streamk_instance)
146
147
148
149
150
151
152
153
154
155
156
157
  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)
158
159
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_convscale_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_convinvscale_instance)
160
161
endif()

162
if(GPU_TARGETS MATCHES "gfx9" OR GPU_TARGETS MATCHES "gfx11" OR GPU_TARGETS MATCHES "gfx12")
163
164
165
166
167
168
169
170
171
  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()
172

173
174
if(DL_KERNELS)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_multi_d_instance)
175
176
177
  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)
178
endif()
179

180
rocm_install(TARGETS ${PROFILER_EXECUTABLE} COMPONENT profiler)