Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
composable_kernel_ROCM
Commits
057140b1
"vscode:/vscode.git/clone" did not exist on "addf20e48b7f712761d467e7413fdace517f9e3f"
Commit
057140b1
authored
Dec 19, 2023
by
Adam Osewski
Browse files
Merge remote-tracking branch 'origin/develop' into aosewski/ggemm_multi_d2
parents
134fc2e7
12a8883c
Changes
209
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
216 additions
and
38 deletions
+216
-38
client_example/04_contraction/CMakeLists.txt
client_example/04_contraction/CMakeLists.txt
+5
-5
client_example/05_layernorm/CMakeLists.txt
client_example/05_layernorm/CMakeLists.txt
+5
-2
client_example/05_layernorm/layernorm2d_bwd_data.cpp
client_example/05_layernorm/layernorm2d_bwd_data.cpp
+170
-0
client_example/05_layernorm/layernorm2d_fwd.cpp
client_example/05_layernorm/layernorm2d_fwd.cpp
+2
-1
client_example/05_layernorm/layernorm4d_fwd.cpp
client_example/05_layernorm/layernorm4d_fwd.cpp
+2
-1
client_example/06_softmax/CMakeLists.txt
client_example/06_softmax/CMakeLists.txt
+1
-1
client_example/06_softmax/softmax4d.cpp
client_example/06_softmax/softmax4d.cpp
+1
-0
client_example/07_grouped_convnd_fwd/CMakeLists.txt
client_example/07_grouped_convnd_fwd/CMakeLists.txt
+2
-2
client_example/08_fused_attention/CMakeLists.txt
client_example/08_fused_attention/CMakeLists.txt
+2
-2
client_example/09_quantization/CMakeLists.txt
client_example/09_quantization/CMakeLists.txt
+7
-7
client_example/10_grouped_convnd_bwd_data/CMakeLists.txt
client_example/10_grouped_convnd_bwd_data/CMakeLists.txt
+3
-3
client_example/11_grouped_conv_bwd_weight/CMakeLists.txt
client_example/11_grouped_conv_bwd_weight/CMakeLists.txt
+5
-5
client_example/12_elementwise_normalization/CMakeLists.txt
client_example/12_elementwise_normalization/CMakeLists.txt
+1
-1
client_example/12_elementwise_normalization/elementwise_layernorm2d.cpp
.../12_elementwise_normalization/elementwise_layernorm2d.cpp
+1
-0
client_example/13_batchnorm/CMakeLists.txt
client_example/13_batchnorm/CMakeLists.txt
+3
-3
client_example/14_instance_id/CMakeLists.txt
client_example/14_instance_id/CMakeLists.txt
+1
-1
client_example/15_convnd_bwd_data/CMakeLists.txt
client_example/15_convnd_bwd_data/CMakeLists.txt
+2
-2
client_example/15_gemm_add_multiply/CMakeLists.txt
client_example/15_gemm_add_multiply/CMakeLists.txt
+1
-1
client_example/15_gemm_add_multiply/gemm_add_multiply.cpp
client_example/15_gemm_add_multiply/gemm_add_multiply.cpp
+1
-0
client_example/15_reduce/CMakeLists.txt
client_example/15_reduce/CMakeLists.txt
+1
-1
No files found.
client_example/04_contraction/CMakeLists.txt
View file @
057140b1
add_executable
(
client_contraction_scale_fp32 contraction_scale_fp32.cpp
)
add_executable
(
client_contraction_scale_fp32 contraction_scale_fp32.cpp
)
target_link_libraries
(
client_contraction_scale_fp32 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_contraction_scale_fp32 PRIVATE composable_kernel::device_
other_operations composable_kernel::device_contraction_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_contraction_bilinear_fp32 contraction_bilinear_fp32.cpp
)
add_executable
(
client_contraction_bilinear_fp32 contraction_bilinear_fp32.cpp
)
target_link_libraries
(
client_contraction_bilinear_fp32 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_contraction_bilinear_fp32 PRIVATE composable_kernel::device_
other_operations composable_kernel::device_contraction_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_contraction_scale_fp64 contraction_scale_fp64.cpp
)
add_executable
(
client_contraction_scale_fp64 contraction_scale_fp64.cpp
)
target_link_libraries
(
client_contraction_scale_fp64 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_contraction_scale_fp64 PRIVATE composable_kernel::device_
other_operations composable_kernel::device_contraction_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_contraction_bilinear_fp64 contraction_bilinear_fp64.cpp
)
add_executable
(
client_contraction_bilinear_fp64 contraction_bilinear_fp64.cpp
)
target_link_libraries
(
client_contraction_bilinear_fp64 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_contraction_bilinear_fp64 PRIVATE composable_kernel::device_
other_operations composable_kernel::device_contraction_operations composable_kernel::device_gemm_
operations
)
add_executable
(
contraction_g1m2n3k1_add_xdl_fp16 contraction_g1m2n3k1_add_xdl_fp16.cpp
)
add_executable
(
contraction_g1m2n3k1_add_xdl_fp16 contraction_g1m2n3k1_add_xdl_fp16.cpp
)
target_link_libraries
(
contraction_g1m2n3k1_add_xdl_fp16 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
contraction_g1m2n3k1_add_xdl_fp16 PRIVATE composable_kernel::device_
other_operations composable_kernel::device_contraction_operations composable_kernel::device_gemm_
operations
)
client_example/05_layernorm/CMakeLists.txt
View file @
057140b1
add_executable
(
client_layernorm2d_bwd_data layernorm2d_bwd_data.cpp
)
target_link_libraries
(
client_layernorm2d_bwd_data PRIVATE composable_kernel::device_other_operations
)
add_executable
(
client_layernorm2d_fwd layernorm2d_fwd.cpp
)
add_executable
(
client_layernorm2d_fwd layernorm2d_fwd.cpp
)
target_link_libraries
(
client_layernorm2d_fwd PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_layernorm2d_fwd PRIVATE composable_kernel::device_
other_
operations
)
add_executable
(
client_layernorm4d_fwd layernorm4d_fwd.cpp
)
add_executable
(
client_layernorm4d_fwd layernorm4d_fwd.cpp
)
target_link_libraries
(
client_layernorm4d_fwd PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_layernorm4d_fwd PRIVATE composable_kernel::device_
other_
operations
)
client_example/05_layernorm/layernorm2d_bwd_data.cpp
0 → 100644
View file @
057140b1
// SPDX-License-Identifier: MIT
// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
#include <iomanip>
#include <vector>
#include <iostream>
#include "ck/ck.hpp"
#include "ck/tensor_operation/gpu/device/tensor_layout.hpp"
#include "ck/tensor_operation/gpu/device/device_normalization_bwd_data.hpp"
#include "ck/tensor_operation/gpu/element/element_wise_operation.hpp"
#include "ck/library/tensor_operation_instance/gpu/layernorm_bwd_data.hpp"
using
DYDataType
=
float
;
using
XDataType
=
float
;
using
GammaDataType
=
float
;
using
MeanInvStdDataType
=
float
;
using
DXDataType
=
float
;
constexpr
int
Rank
=
2
;
constexpr
int
NumReduceDim
=
1
;
struct
SimpleDeviceMem
{
SimpleDeviceMem
()
=
delete
;
SimpleDeviceMem
(
std
::
size_t
mem_size
)
:
p_mem_
{}
{
(
void
)
hipMalloc
(
static_cast
<
void
**>
(
&
p_mem_
),
mem_size
);
}
void
*
GetDeviceBuffer
()
{
return
p_mem_
;
}
~
SimpleDeviceMem
()
{
(
void
)
hipFree
(
p_mem_
);
}
void
*
p_mem_
;
};
int
main
(
int
argc
,
char
*
argv
[])
{
ck
::
index_t
M
=
1024
;
ck
::
index_t
N
=
1024
;
SimpleDeviceMem
dy_dev
(
sizeof
(
DYDataType
)
*
M
*
N
);
SimpleDeviceMem
x_dev
(
sizeof
(
XDataType
)
*
M
*
N
);
SimpleDeviceMem
gamma_dev
(
sizeof
(
GammaDataType
)
*
N
);
SimpleDeviceMem
mean_dev
(
sizeof
(
MeanInvStdDataType
)
*
M
);
SimpleDeviceMem
inv_std_dev
(
sizeof
(
MeanInvStdDataType
)
*
M
);
SimpleDeviceMem
dx_dev
(
sizeof
(
DXDataType
)
*
M
*
N
);
using
DeviceOp
=
ck
::
tensor_operation
::
device
::
DeviceNormalizationBwdData
<
DYDataType
,
XDataType
,
GammaDataType
,
MeanInvStdDataType
,
DXDataType
,
Rank
,
NumReduceDim
>
;
// get device op instances
const
auto
op_ptrs
=
ck
::
tensor_operation
::
device
::
instance
::
DeviceOperationInstanceFactory
<
DeviceOp
>::
GetInstances
();
std
::
cout
<<
"found "
<<
op_ptrs
.
size
()
<<
" instances"
<<
std
::
endl
;
std
::
string
best_op_name
;
bool
found
=
false
;
int
best_op_id
=
-
1
;
float
best_ave_time
=
std
::
numeric_limits
<
float
>::
max
();
float
best_gb_per_sec
=
0
;
// profile device operation instances
std
::
cout
<<
"Run all instances and do timing"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
op_ptrs
.
size
();
++
i
)
{
auto
&
op_ptr
=
op_ptrs
[
i
];
auto
argument_ptr
=
op_ptr
->
MakeArgumentPointer
({
M
,
N
},
// lengths
{
N
,
1
},
// dyStrides
{
N
,
1
},
// xStrides
{
0
,
1
},
// gammaStrides
{
1
,
0
},
// meanStrides
{
1
,
0
},
// invStdStrides
{
N
,
1
},
// dxStrides
{
1
},
// reduceDims
dy_dev
.
GetDeviceBuffer
(),
x_dev
.
GetDeviceBuffer
(),
gamma_dev
.
GetDeviceBuffer
(),
mean_dev
.
GetDeviceBuffer
(),
inv_std_dev
.
GetDeviceBuffer
(),
dx_dev
.
GetDeviceBuffer
());
auto
invoker_ptr
=
op_ptr
->
MakeInvokerPointer
();
std
::
string
op_name
=
op_ptr
->
GetTypeString
();
if
(
op_ptr
->
IsSupportedArgument
(
argument_ptr
.
get
()))
{
size_t
workspace_sz
=
op_ptr
->
GetWorkSpaceSize
(
argument_ptr
.
get
());
SimpleDeviceMem
workspace
(
workspace_sz
);
op_ptr
->
SetWorkSpacePointer
(
argument_ptr
.
get
(),
workspace
.
GetDeviceBuffer
());
float
ave_time
=
invoker_ptr
->
Run
(
argument_ptr
.
get
(),
StreamConfig
{
nullptr
,
true
});
std
::
size_t
num_byte
=
sizeof
(
DYDataType
)
*
M
*
N
+
sizeof
(
XDataType
)
*
M
*
N
+
sizeof
(
GammaDataType
)
*
N
+
sizeof
(
MeanInvStdDataType
)
*
M
*
2
+
sizeof
(
DXDataType
)
*
M
*
N
;
float
gb_per_sec
=
num_byte
/
1.E6
/
ave_time
;
std
::
cout
<<
"Perf: "
<<
std
::
setw
(
10
)
<<
ave_time
<<
" ms, "
<<
gb_per_sec
<<
" GB/s, "
<<
op_name
<<
std
::
endl
;
if
(
ave_time
<
best_ave_time
)
{
found
=
true
;
best_op_id
=
i
;
best_op_name
=
op_name
;
best_ave_time
=
ave_time
;
best_gb_per_sec
=
gb_per_sec
;
}
}
else
{
std
::
cout
<<
op_name
<<
" does not support this problem"
<<
std
::
endl
;
}
}
std
::
cout
<<
"Best Perf: "
<<
best_ave_time
<<
" ms, "
<<
best_gb_per_sec
<<
" GB/s, "
<<
best_op_name
<<
std
::
endl
;
// run the best intance
if
(
found
)
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
<<
std
::
endl
;
auto
argument_ptr
=
op_ptr
->
MakeArgumentPointer
({
M
,
N
},
// lengths
{
N
,
1
},
// dyStrides
{
N
,
1
},
// xStrides
{
0
,
1
},
// gammaStrides
{
1
,
0
},
// meanStrides
{
1
,
0
},
// invStdStrides
{
N
,
1
},
// dxStrides
{
1
},
// reduceDims
dy_dev
.
GetDeviceBuffer
(),
x_dev
.
GetDeviceBuffer
(),
gamma_dev
.
GetDeviceBuffer
(),
mean_dev
.
GetDeviceBuffer
(),
inv_std_dev
.
GetDeviceBuffer
(),
dx_dev
.
GetDeviceBuffer
());
auto
invoker_ptr
=
op_ptr
->
MakeInvokerPointer
();
if
(
op_ptr
->
IsSupportedArgument
(
argument_ptr
.
get
()))
{
size_t
workspace_sz
=
op_ptr
->
GetWorkSpaceSize
(
argument_ptr
.
get
());
SimpleDeviceMem
workspace
(
workspace_sz
);
op_ptr
->
SetWorkSpacePointer
(
argument_ptr
.
get
(),
workspace
.
GetDeviceBuffer
());
invoker_ptr
->
Run
(
argument_ptr
.
get
(),
StreamConfig
{
nullptr
,
false
});
}
std
::
cout
<<
"Done"
<<
std
::
endl
;
}
return
0
;
}
client_example/05_layernorm/layernorm2d_fwd.cpp
View file @
057140b1
...
@@ -16,7 +16,7 @@ using XDataType = ck::half_t;
...
@@ -16,7 +16,7 @@ using XDataType = ck::half_t;
using
GammaDataType
=
ck
::
half_t
;
using
GammaDataType
=
ck
::
half_t
;
using
BetaDataType
=
ck
::
half_t
;
using
BetaDataType
=
ck
::
half_t
;
using
YDataType
=
ck
::
half_t
;
using
YDataType
=
ck
::
half_t
;
using
SaveMeanInvStdDataType
=
floa
t
;
using
SaveMeanInvStdDataType
=
ck
::
half_
t
;
using
PassThrough
=
ck
::
tensor_operation
::
element_wise
::
PassThrough
;
using
PassThrough
=
ck
::
tensor_operation
::
element_wise
::
PassThrough
;
#define SAVE_MEAN_INV_STD
#define SAVE_MEAN_INV_STD
...
@@ -150,6 +150,7 @@ int main(int argc, char* argv[])
...
@@ -150,6 +150,7 @@ int main(int argc, char* argv[])
<<
best_op_name
<<
std
::
endl
;
<<
best_op_name
<<
std
::
endl
;
// run the best intance
// run the best intance
if
(
found
)
{
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
...
...
client_example/05_layernorm/layernorm4d_fwd.cpp
View file @
057140b1
...
@@ -16,7 +16,7 @@ using XDataType = ck::half_t;
...
@@ -16,7 +16,7 @@ using XDataType = ck::half_t;
using
GammaDataType
=
ck
::
half_t
;
using
GammaDataType
=
ck
::
half_t
;
using
BetaDataType
=
ck
::
half_t
;
using
BetaDataType
=
ck
::
half_t
;
using
YDataType
=
ck
::
half_t
;
using
YDataType
=
ck
::
half_t
;
using
SaveMeanInvStdDataType
=
floa
t
;
using
SaveMeanInvStdDataType
=
ck
::
half_
t
;
using
PassThrough
=
ck
::
tensor_operation
::
element_wise
::
PassThrough
;
using
PassThrough
=
ck
::
tensor_operation
::
element_wise
::
PassThrough
;
#define SAVE_MEAN_INV_STD
#define SAVE_MEAN_INV_STD
...
@@ -155,6 +155,7 @@ int main(int argc, char* argv[])
...
@@ -155,6 +155,7 @@ int main(int argc, char* argv[])
<<
best_op_name
<<
std
::
endl
;
<<
best_op_name
<<
std
::
endl
;
// run the best intance
// run the best intance
if
(
found
)
{
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
...
...
client_example/06_softmax/CMakeLists.txt
View file @
057140b1
add_executable
(
client_softmax4d softmax4d.cpp
)
add_executable
(
client_softmax4d softmax4d.cpp
)
target_link_libraries
(
client_softmax4d PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_softmax4d PRIVATE composable_kernel::device_
other_operations composable_kernel::device_reduction_
operations
)
client_example/06_softmax/softmax4d.cpp
View file @
057140b1
...
@@ -140,6 +140,7 @@ int main(int argc, char* argv[])
...
@@ -140,6 +140,7 @@ int main(int argc, char* argv[])
<<
best_op_name
<<
std
::
endl
;
<<
best_op_name
<<
std
::
endl
;
// run the best intance
// run the best intance
if
(
found
)
{
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
...
...
client_example/07_grouped_convnd_fwd/CMakeLists.txt
View file @
057140b1
add_executable
(
client_grouped_conv2d_fwd grouped_conv2d_fwd.cpp
)
add_executable
(
client_grouped_conv2d_fwd grouped_conv2d_fwd.cpp
)
target_link_libraries
(
client_grouped_conv2d_fwd PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv2d_fwd PRIVATE composable_kernel::device_
conv_
operations
)
add_executable
(
client_grouped_conv1d_fwd grouped_conv1d_fwd.cpp
)
add_executable
(
client_grouped_conv1d_fwd grouped_conv1d_fwd.cpp
)
target_link_libraries
(
client_grouped_conv1d_fwd PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv1d_fwd PRIVATE composable_kernel::device_
conv_
operations
)
client_example/08_fused_attention/CMakeLists.txt
View file @
057140b1
add_executable
(
client_fused_attention fused_attention.cpp
)
add_executable
(
client_fused_attention fused_attention.cpp
)
target_link_libraries
(
client_fused_attention PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_fused_attention PRIVATE composable_kernel::device_
other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_fused_attention_bias fused_attention_bias.cpp
)
add_executable
(
client_fused_attention_bias fused_attention_bias.cpp
)
target_link_libraries
(
client_fused_attention_bias PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_fused_attention_bias PRIVATE composable_kernel::device_
other_operations composable_kernel::device_gemm_
operations
)
client_example/09_quantization/CMakeLists.txt
View file @
057140b1
if
(
DTYPES MATCHES
"int8"
OR NOT DEFINED DTYPES
)
if
(
DTYPES MATCHES
"int8"
OR NOT DEFINED DTYPES
)
add_executable
(
client_conv2d_fwd_bias_tanh_perchannel_quantization conv2d_fwd_bias_tanh_perchannel_quantization.cpp
)
add_executable
(
client_conv2d_fwd_bias_tanh_perchannel_quantization conv2d_fwd_bias_tanh_perchannel_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_bias_tanh_perchannel_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_bias_tanh_perchannel_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_conv2d_fwd_bias_relu_perchannel_quantization conv2d_fwd_bias_relu_perchannel_quantization.cpp
)
add_executable
(
client_conv2d_fwd_bias_relu_perchannel_quantization conv2d_fwd_bias_relu_perchannel_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_bias_relu_perchannel_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_bias_relu_perchannel_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_conv2d_fwd_bias_tanh_perlayer_quantization conv2d_fwd_bias_tanh_perlayer_quantization.cpp
)
add_executable
(
client_conv2d_fwd_bias_tanh_perlayer_quantization conv2d_fwd_bias_tanh_perlayer_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_bias_tanh_perlayer_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_bias_tanh_perlayer_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_conv2d_fwd_bias_relu_perlayer_quantization conv2d_fwd_bias_relu_perlayer_quantization.cpp
)
add_executable
(
client_conv2d_fwd_bias_relu_perlayer_quantization conv2d_fwd_bias_relu_perlayer_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_bias_relu_perlayer_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_bias_relu_perlayer_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_conv2d_fwd_perchannel_quantization conv2d_fwd_perchannel_quantization.cpp
)
add_executable
(
client_conv2d_fwd_perchannel_quantization conv2d_fwd_perchannel_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_perchannel_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_perchannel_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_conv2d_fwd_perlayer_quantization conv2d_fwd_perlayer_quantization.cpp
)
add_executable
(
client_conv2d_fwd_perlayer_quantization conv2d_fwd_perlayer_quantization.cpp
)
target_link_libraries
(
client_conv2d_fwd_perlayer_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv2d_fwd_perlayer_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
add_executable
(
client_gemm_quantization gemm_quantization.cpp
)
add_executable
(
client_gemm_quantization gemm_quantization.cpp
)
target_link_libraries
(
client_gemm_quantization PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_gemm_quantization PRIVATE composable_kernel::device_
conv_operations composable_kernel::device_other_operations composable_kernel::device_gemm_
operations
)
endif
()
endif
()
client_example/10_grouped_convnd_bwd_data/CMakeLists.txt
View file @
057140b1
add_executable
(
client_grouped_conv2d_bwd_data grouped_conv2d_bwd_data.cpp
)
add_executable
(
client_grouped_conv2d_bwd_data grouped_conv2d_bwd_data.cpp
)
target_link_libraries
(
client_grouped_conv2d_bwd_data PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv2d_bwd_data PRIVATE composable_kernel::device_
conv_
operations
)
add_executable
(
client_grouped_conv3d_bwd_data grouped_conv3d_bwd_data.cpp
)
add_executable
(
client_grouped_conv3d_bwd_data grouped_conv3d_bwd_data.cpp
)
target_link_libraries
(
client_grouped_conv3d_bwd_data PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_data PRIVATE composable_kernel::device_
conv_
operations
)
add_executable
(
client_grouped_conv3d_bwd_data_input_fp16_comp_bf8f8 grouped_conv3d_bwd_data_input_fp16_comp_bf8f8.cpp
)
add_executable
(
client_grouped_conv3d_bwd_data_input_fp16_comp_bf8f8 grouped_conv3d_bwd_data_input_fp16_comp_bf8f8.cpp
)
target_link_libraries
(
client_grouped_conv3d_bwd_data_input_fp16_comp_bf8f8 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_data_input_fp16_comp_bf8f8 PRIVATE composable_kernel::device_
conv_
operations
)
client_example/11_grouped_conv_bwd_weight/CMakeLists.txt
View file @
057140b1
...
@@ -4,8 +4,8 @@ add_executable(client_grouped_conv3d_bwd_weight_fp16 grouped_conv3d_bwd_weight_f
...
@@ -4,8 +4,8 @@ add_executable(client_grouped_conv3d_bwd_weight_fp16 grouped_conv3d_bwd_weight_f
add_executable
(
client_grouped_conv3d_bwd_weight_fp32 grouped_conv3d_bwd_weight_fp32.cpp
)
add_executable
(
client_grouped_conv3d_bwd_weight_fp32 grouped_conv3d_bwd_weight_fp32.cpp
)
add_executable
(
client_grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8 grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8.cpp
)
add_executable
(
client_grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8 grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8.cpp
)
target_link_libraries
(
client_grouped_conv1d_bwd_weight_fp16 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv1d_bwd_weight_fp16 PRIVATE composable_kernel::device_
conv_
operations
)
target_link_libraries
(
client_grouped_conv2d_bwd_weight_fp16 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv2d_bwd_weight_fp16 PRIVATE composable_kernel::device_
conv_
operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp16 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp16 PRIVATE composable_kernel::device_
conv_
operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp32 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp32 PRIVATE composable_kernel::device_
conv_
operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8 PRIVATE composable_kernel::device_
conv_
operations
)
client_example/12_elementwise_normalization/CMakeLists.txt
View file @
057140b1
add_executable
(
client_elementwise_layernorm2d elementwise_layernorm2d.cpp
)
add_executable
(
client_elementwise_layernorm2d elementwise_layernorm2d.cpp
)
target_link_libraries
(
client_elementwise_layernorm2d PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_elementwise_layernorm2d PRIVATE composable_kernel::device_
other_
operations
)
client_example/12_elementwise_normalization/elementwise_layernorm2d.cpp
View file @
057140b1
...
@@ -142,6 +142,7 @@ int main()
...
@@ -142,6 +142,7 @@ int main()
<<
best_op_name
<<
std
::
endl
;
<<
best_op_name
<<
std
::
endl
;
// run the best intance
// run the best intance
if
(
found
)
{
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
std
::
cout
<<
"Run the best instance without timing: "
<<
op_ptr
->
GetTypeString
()
...
...
client_example/13_batchnorm/CMakeLists.txt
View file @
057140b1
add_executable
(
client_batchnorm_fwd_nhwc batchnorm_fwd_nhwc.cpp
)
add_executable
(
client_batchnorm_fwd_nhwc batchnorm_fwd_nhwc.cpp
)
add_executable
(
client_batchnorm_bwd_nhwc batchnorm_bwd_nhwc.cpp
)
add_executable
(
client_batchnorm_bwd_nhwc batchnorm_bwd_nhwc.cpp
)
add_executable
(
client_batchnorm_infer_nhwc batchnorm_infer_nhwc.cpp
)
add_executable
(
client_batchnorm_infer_nhwc batchnorm_infer_nhwc.cpp
)
target_link_libraries
(
client_batchnorm_fwd_nhwc PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_batchnorm_fwd_nhwc PRIVATE composable_kernel::device_
other_
operations
)
target_link_libraries
(
client_batchnorm_bwd_nhwc PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_batchnorm_bwd_nhwc PRIVATE composable_kernel::device_
other_
operations
)
target_link_libraries
(
client_batchnorm_infer_nhwc PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_batchnorm_infer_nhwc PRIVATE composable_kernel::device_
other_
operations
)
client_example/14_instance_id/CMakeLists.txt
View file @
057140b1
add_executable
(
client_batchnorm_fwd_instance_id batchnorm_fwd_instance_id.cpp
)
add_executable
(
client_batchnorm_fwd_instance_id batchnorm_fwd_instance_id.cpp
)
target_link_libraries
(
client_batchnorm_fwd_instance_id PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_batchnorm_fwd_instance_id PRIVATE composable_kernel::device_
other_
operations
)
client_example/15_convnd_bwd_data/CMakeLists.txt
View file @
057140b1
add_executable
(
client_conv3d_bwd_data_fp16 conv3d_bwd_data_fp16.cpp
)
add_executable
(
client_conv3d_bwd_data_fp16 conv3d_bwd_data_fp16.cpp
)
add_executable
(
client_conv3d_bwd_data_fp32 conv3d_bwd_data_fp32.cpp
)
add_executable
(
client_conv3d_bwd_data_fp32 conv3d_bwd_data_fp32.cpp
)
target_link_libraries
(
client_conv3d_bwd_data_fp16 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv3d_bwd_data_fp16 PRIVATE composable_kernel::device_
conv_
operations
)
target_link_libraries
(
client_conv3d_bwd_data_fp32 PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_conv3d_bwd_data_fp32 PRIVATE composable_kernel::device_
conv_
operations
)
client_example/15_gemm_add_multiply/CMakeLists.txt
View file @
057140b1
add_executable
(
client_gemm_add_multiply gemm_add_multiply.cpp
)
add_executable
(
client_gemm_add_multiply gemm_add_multiply.cpp
)
target_link_libraries
(
client_gemm_add_multiply PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_gemm_add_multiply PRIVATE composable_kernel::device_gemm_operations
)
\ No newline at end of file
\ No newline at end of file
client_example/15_gemm_add_multiply/gemm_add_multiply.cpp
View file @
057140b1
...
@@ -204,6 +204,7 @@ int main(int argc, char* argv[])
...
@@ -204,6 +204,7 @@ int main(int argc, char* argv[])
<<
best_gb_per_sec
<<
" GB/s, "
<<
best_op_name
<<
std
::
endl
;
<<
best_gb_per_sec
<<
" GB/s, "
<<
best_op_name
<<
std
::
endl
;
// run the best intance
// run the best intance
if
(
found
)
{
{
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
auto
&
op_ptr
=
op_ptrs
[
best_op_id
];
...
...
client_example/15_reduce/CMakeLists.txt
View file @
057140b1
add_executable
(
client_reduce_nhwc_c reduce_nhwc_c.cpp
)
add_executable
(
client_reduce_nhwc_c reduce_nhwc_c.cpp
)
target_link_libraries
(
client_reduce_nhwc_c PRIVATE composable_kernel::device_operations
)
target_link_libraries
(
client_reduce_nhwc_c PRIVATE composable_kernel::device_
reduction_
operations
)
Prev
1
2
3
4
5
6
…
11
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment