CMakeLists.txt 7.36 KB
Newer Older
1
2
3
# ckProfiler
set(PROFILER_SOURCES
    profiler.cpp
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    profile_gemm.cpp
    profile_gemm_splitk.cpp
    profile_gemm_bias_add_reduce.cpp
    profile_gemm_add_multiply.cpp
    profile_gemm_multiply_add.cpp
    profile_gemm_reduce.cpp
    profile_batched_gemm.cpp
    profile_batched_gemm_reduce.cpp
    profile_conv_fwd.cpp
    profile_conv_fwd_bias_relu.cpp
    profile_conv_fwd_bias_relu_add.cpp
    profile_conv_bwd_data.cpp
    profile_grouped_conv_fwd.cpp
    profile_grouped_conv_bwd_weight.cpp
    profile_reduce.cpp
    profile_groupnorm_bwd_data.cpp
    profile_groupnorm_fwd.cpp
    profile_layernorm_bwd_data.cpp
22
23
    profile_layernorm_bwd_gamma_beta.cpp
    profile_groupnorm_bwd_gamma_beta.cpp
24
25
26
27
28
29
30
31
32
33
    profile_layernorm_fwd.cpp
    profile_max_pool3d_fwd.cpp
    profile_avg_pool3d_bwd.cpp
    profile_max_pool3d_bwd.cpp
    profile_softmax.cpp
    profile_batchnorm_fwd.cpp
    profile_batchnorm_bwd.cpp
    profile_batchnorm_infer.cpp
    profile_grouped_conv_bwd_data.cpp
    profile_conv_tensor_rearrange.cpp
arai713's avatar
arai713 committed
34
    profile_transpose.cpp
35
    profile_permute_scale.cpp
36
)
37

38
39
40
if(DL_KERNELS)
  list(APPEND PROFILER_SOURCES profile_batched_gemm_multi_d.cpp)
endif()
41

42
if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
43
44
45
46
  list(APPEND PROFILER_SOURCES profile_batched_gemm_gemm.cpp)
  list(APPEND PROFILER_SOURCES profile_gemm_fastgelu.cpp)
  list(APPEND PROFILER_SOURCES profile_gemm_streamk.cpp)
  list(APPEND PROFILER_SOURCES profile_gemm_bilinear.cpp)
47
  list(APPEND PROFILER_SOURCES profile_gemm_add.cpp) 
48
  list(APPEND PROFILER_SOURCES profile_gemm_add_fastgelu.cpp)
49
50
  list(APPEND PROFILER_SOURCES profile_gemm_add_relu.cpp)
  list(APPEND PROFILER_SOURCES profile_gemm_add_silu.cpp)
51
52
53
  list(APPEND PROFILER_SOURCES profile_gemm_add_add_fastgelu.cpp)
  list(APPEND PROFILER_SOURCES profile_gemm_add_relu_add_layernorm.cpp)
  list(APPEND PROFILER_SOURCES profile_batched_gemm_add_relu_gemm_add.cpp)
54
  list(APPEND PROFILER_SOURCES profile_grouped_gemm.cpp)
55
  list(APPEND PROFILER_SOURCES profile_grouped_gemm_fixed_nk.cpp)
56
  list(APPEND PROFILER_SOURCES profile_grouped_gemm_fastgelu.cpp)
Adam Osewski's avatar
Adam Osewski committed
57
  list(APPEND PROFILER_SOURCES profile_grouped_gemm_multiple_d_splitk.cpp)
58
endif()
59

60
if(DTYPES MATCHES "fp32" OR DTYPES MATCHES "fp64" OR NOT DEFINED DTYPES)
61
62
  list(APPEND PROFILER_SOURCES profile_contraction_bilinear.cpp)
  list(APPEND PROFILER_SOURCES profile_contraction_scale.cpp)
63
64
endif()

65
66
67
68
69
set(PROFILER_EXECUTABLE ckProfiler)

add_executable(${PROFILER_EXECUTABLE} ${PROFILER_SOURCES})
target_compile_options(${PROFILER_EXECUTABLE} PRIVATE -Wno-global-constructors)

70
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE utility getopt::getopt)
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_splitk_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_multiply_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_multiply_add_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_batched_gemm_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_reduce_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_fwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv1d_fwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv2d_fwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_fwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv1d_bwd_data_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv2d_bwd_data_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_conv3d_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_bwd_weight_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_normalization_fwd_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_data_instance)
93
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_normalization_bwd_gamma_beta_instance)
94
95
96
97
98
99
100
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)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_pool3d_fwd_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_grouped_conv2d_bwd_data_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_conv3d_bwd_data_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_image_to_column_instance)
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_column_to_image_instance)
arai713's avatar
arai713 committed
104
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_transpose_instance)
105
target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_permute_scale_instance)
106
107

if(DTYPES MATCHES "fp32" OR DTYPES MATCHES "fp64" OR NOT DEFINED DTYPES)
108
109
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_contraction_bilinear_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_contraction_scale_instance)
110
111
112
113
endif()



114
115
116
if(DL_KERNELS)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_batched_gemm_multi_d_instance)
endif()
117

118
if(DTYPES MATCHES "fp16" OR NOT DEFINED DTYPES)
119
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_instance)
120
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_fastgelu_instance)
121
122
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_relu_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_silu_instance)
123
124
125
126
127
128
129
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_relu_add_layernorm_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_bilinear_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_add_add_fastgelu_instance)
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_gemm_streamk_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)
130
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_instance)
131
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_fixed_nk_instance)
132
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_fastgelu_instance)
Adam Osewski's avatar
Adam Osewski committed
133
  target_link_libraries(${PROFILER_EXECUTABLE} PRIVATE device_grouped_gemm_multiple_d_instance)
134
endif()
135

136
rocm_install(TARGETS ${PROFILER_EXECUTABLE} COMPONENT profiler)