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
Commits
ce87bcc7
Commit
ce87bcc7
authored
Sep 08, 2023
by
Bartlomiej Kocot
Browse files
tmp
parent
c8a8385f
Changes
123
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
66 additions
and
60 deletions
+66
-60
example/38_grouped_conv_bwd_data_multiple_d/run_grouped_conv_bwd_data_example.inc
...bwd_data_multiple_d/run_grouped_conv_bwd_data_example.inc
+2
-2
example/39_permute/run_permute_bundle_example.inc
example/39_permute/run_permute_bundle_example.inc
+3
-2
example/39_permute/run_permute_element_example.inc
example/39_permute/run_permute_element_example.inc
+3
-2
example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perchannel_quantization_example.inc
...n/run_conv2d_fwd_bias_perchannel_quantization_example.inc
+4
-3
example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perlayer_quantization_example.inc
...ion/run_conv2d_fwd_bias_perlayer_quantization_example.inc
+3
-3
example/40_conv2d_fwd_quantization/run_conv2d_fwd_perchannel_quantization_example.inc
...zation/run_conv2d_fwd_perchannel_quantization_example.inc
+3
-3
example/40_conv2d_fwd_quantization/run_conv2d_fwd_perlayer_quantization_example.inc
...tization/run_conv2d_fwd_perlayer_quantization_example.inc
+3
-3
example/41_grouped_conv_conv_fwd/run_grouped_conv_conv_fwd_example.inc
...ouped_conv_conv_fwd/run_grouped_conv_conv_fwd_example.inc
+3
-1
example/42_groupnorm/run_groupnorm_example.inc
example/42_groupnorm/run_groupnorm_example.inc
+3
-3
example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp16.cpp
...mm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp16.cpp
+3
-3
example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp32.cpp
...mm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp32.cpp
+3
-3
example/44_elementwise_permute/elementwise_permute_4D_fp16.cpp
...le/44_elementwise_permute/elementwise_permute_4D_fp16.cpp
+3
-4
example/44_elementwise_permute/elementwise_permute_4D_fp16_2d.cpp
...44_elementwise_permute/elementwise_permute_4D_fp16_2d.cpp
+3
-4
example/45_elementwise_normalization/elementwise_layernorm_blockwise.cpp
...entwise_normalization/elementwise_layernorm_blockwise.cpp
+4
-5
example/46_gemm_add_multiply/run_gemm_add_multiply_example.inc
...le/46_gemm_add_multiply/run_gemm_add_multiply_example.inc
+3
-1
example/47_gemm_bias_softmax_gemm_permute/gemm_bias_softmax_gemm_permute.cpp
...s_softmax_gemm_permute/gemm_bias_softmax_gemm_permute.cpp
+4
-4
example/48_pool3d_fwd/pool3d_fwd_common.hpp
example/48_pool3d_fwd/pool3d_fwd_common.hpp
+5
-3
example/49_maxpool2d_bwd/maxpool2d_bwd_common.hpp
example/49_maxpool2d_bwd/maxpool2d_bwd_common.hpp
+5
-5
example/50_put_element/put_element_fp16.cpp
example/50_put_element/put_element_fp16.cpp
+3
-3
example/51_avgpool3d_bwd/avgpool3d_bwd_common.hpp
example/51_avgpool3d_bwd/avgpool3d_bwd_common.hpp
+3
-3
No files found.
example/38_grouped_conv_bwd_data_multiple_d/run_grouped_conv_bwd_data_example.inc
View file @
ce87bcc7
...
@@ -137,8 +137,8 @@ bool run_conv_bwd_data(const ExecutionConfig& config,
...
@@ -137,8 +137,8 @@ bool run_conv_bwd_data(const ExecutionConfig& config,
ref_invoker
.
Run
(
ref_argument
);
ref_invoker
.
Run
(
ref_argument
);
in_device_buf
.
FromDevice
(
in_device
.
mData
.
data
());
in_device_buf
.
FromDevice
(
in_device
.
mData
.
data
());
ck
::
utils
::
CorrectnessValidator
validator
;
return
ck
::
utils
::
check_err
(
in_device
.
mData
,
in_host
.
mData
);
return
validator
.
check_err
(
in_device
.
mData
,
in_host
.
mData
);
}
}
return
true
;
return
true
;
...
...
example/39_permute/run_permute_bundle_example.inc
View file @
ce87bcc7
...
@@ -64,12 +64,13 @@ bool run_permute_bundle(const Problem& problem)
...
@@ -64,12 +64,13 @@ bool run_permute_bundle(const Problem& problem)
{
{
return
false
;
return
false
;
}
}
ck
::
utils
::
CorrectnessValidator
validator
;
return
ck
::
utils
::
check_err
(
output_bundle_tensor
.
AsSpan
<
const
DataType
>
(),
validator
.
check_err
(
output_bundle_tensor
.
AsSpan
<
const
DataType
>
(),
output_tensor
.
AsSpan
<
const
DataType
>
(),
output_tensor
.
AsSpan
<
const
DataType
>
(),
"Error: incorrect results in output tensor"
,
"Error: incorrect results in output tensor"
,
1
e
-
6
,
1
e
-
6
,
1
e
-
6
);
1
e
-
6
);
return
validator
.
is_success
();
}
}
bool
run_permute_bundle_example
(
const
Problem
::
Shape
&
shape
,
const
Problem
::
Axes
&
axes
)
bool
run_permute_bundle_example
(
const
Problem
::
Shape
&
shape
,
const
Problem
::
Axes
&
axes
)
...
...
example/39_permute/run_permute_element_example.inc
View file @
ce87bcc7
...
@@ -51,12 +51,13 @@ bool run_permute_element(const Problem& problem)
...
@@ -51,12 +51,13 @@ bool run_permute_element(const Problem& problem)
{
{
return
false
;
return
false
;
}
}
ck
::
utils
::
CorrectnessValidator
validator
;
return
ck
::
utils
::
check_err
(
output_tensor
.
AsSpan
<
const
OutDataType
>
(),
validator
.
check_err
(
output_tensor
.
AsSpan
<
const
OutDataType
>
(),
output_tensor_host
.
AsSpan
<
const
OutDataType
>
(),
output_tensor_host
.
AsSpan
<
const
OutDataType
>
(),
"Error: incorrect results in output tensor"
,
"Error: incorrect results in output tensor"
,
1
e
-
6
,
1
e
-
6
,
1
e
-
6
);
1
e
-
6
);
return
validator
.
is_success
();
}
}
bool
run_permute_element_example
(
const
Problem
::
Shape
&
shape
,
const
Problem
::
Axes
&
axes
)
bool
run_permute_element_example
(
const
Problem
::
Shape
&
shape
,
const
Problem
::
Axes
&
axes
)
...
...
example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perchannel_quantization_example.inc
View file @
ce87bcc7
...
@@ -160,11 +160,12 @@ bool run_grouped_conv_fwd(bool do_verification,
...
@@ -160,11 +160,12 @@ bool run_grouped_conv_fwd(bool do_verification,
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
pass
&=
ck
::
utils
::
CorrectnessValidator
validator
;
ck
::
utils
::
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
validator
.
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
int
run_conv2d_fwd_bias_perchannel_quantization_example
(
const
OutElementOp
&
out_element_op
)
int
run_conv2d_fwd_bias_perchannel_quantization_example
(
const
OutElementOp
&
out_element_op
)
...
...
example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perlayer_quantization_example.inc
View file @
ce87bcc7
...
@@ -148,11 +148,11 @@ bool run_grouped_conv_fwd(bool do_verification,
...
@@ -148,11 +148,11 @@ bool run_grouped_conv_fwd(bool do_verification,
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
pass
&=
ck
::
utils
::
CorrectnessValidator
validator
;
ck
::
utils
::
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
validator
.
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
int
run_conv2d_fwd_bias_perlayer_quantization_example
(
const
OutElementOp
&
out_element_op
)
int
run_conv2d_fwd_bias_perlayer_quantization_example
(
const
OutElementOp
&
out_element_op
)
...
...
example/40_conv2d_fwd_quantization/run_conv2d_fwd_perchannel_quantization_example.inc
View file @
ce87bcc7
...
@@ -150,11 +150,11 @@ bool run_grouped_conv_fwd(bool do_verification,
...
@@ -150,11 +150,11 @@ bool run_grouped_conv_fwd(bool do_verification,
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
pass
&=
ck
::
utils
::
CorrectnessValidator
validator
;
ck
::
utils
::
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
validator
.
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
int
run_conv2d_fwd_perchannel_quantization_example
(
const
OutElementOp
&
out_element_op
)
int
run_conv2d_fwd_perchannel_quantization_example
(
const
OutElementOp
&
out_element_op
)
...
...
example/40_conv2d_fwd_quantization/run_conv2d_fwd_perlayer_quantization_example.inc
View file @
ce87bcc7
...
@@ -132,11 +132,11 @@ bool run_grouped_conv_fwd(bool do_verification,
...
@@ -132,11 +132,11 @@ bool run_grouped_conv_fwd(bool do_verification,
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
out_device_buf
.
FromDevice
(
out_device
.
mData
.
data
());
pass
&=
ck
::
utils
::
CorrectnessValidator
validator
;
ck
::
utils
::
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
validator
.
check_err
(
out_device
,
out_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
int
run_conv2d_fwd_perlayer_quantization_example
(
const
OutElementOp
&
out_element_op
)
int
run_conv2d_fwd_perlayer_quantization_example
(
const
OutElementOp
&
out_element_op
)
...
...
example/41_grouped_conv_conv_fwd/run_grouped_conv_conv_fwd_example.inc
View file @
ce87bcc7
...
@@ -256,8 +256,10 @@ bool run_grouped_conv_conv_fwd(bool do_verification,
...
@@ -256,8 +256,10 @@ bool run_grouped_conv_conv_fwd(bool do_verification,
out1_device_buf
.
FromDevice
(
out1_device
.
mData
.
data
());
out1_device_buf
.
FromDevice
(
out1_device
.
mData
.
data
());
#endif
#endif
return
ck
::
utils
::
check_err
(
ck
::
utils
::
CorrectnessValidator
validator
;
validator
.
check_err
(
out1_device
,
out1_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
out1_device
,
out1_host
,
"Error: incorrect results!"
,
1
e
-
5
f
,
1
e
-
4
f
);
return
validator
.
is_success
();
}
}
return
true
;
return
true
;
...
...
example/42_groupnorm/run_groupnorm_example.inc
View file @
ce87bcc7
...
@@ -89,7 +89,7 @@ int run_groupnorm_example(int argc, char* argv[])
...
@@ -89,7 +89,7 @@ int run_groupnorm_example(int argc, char* argv[])
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
gb_per_sec
<<
" GB/s, "
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
gb_per_sec
<<
" GB/s, "
<<
device_instance
.
GetTypeString
()
<<
std
::
endl
;
<<
device_instance
.
GetTypeString
()
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
{
{
Tensor
<
YDataType
>
host_y
({
N
,
H
,
W
,
G
,
C
});
Tensor
<
YDataType
>
host_y
({
N
,
H
,
W
,
G
,
C
});
using
ReferenceInstance
=
ck
::
tensor_operation
::
host
::
ReferenceGroupnorm
<
XDataType
,
using
ReferenceInstance
=
ck
::
tensor_operation
::
host
::
ReferenceGroupnorm
<
XDataType
,
...
@@ -106,8 +106,8 @@ int run_groupnorm_example(int argc, char* argv[])
...
@@ -106,8 +106,8 @@ int run_groupnorm_example(int argc, char* argv[])
ref_invoker
.
Run
(
ref_argument
);
ref_invoker
.
Run
(
ref_argument
);
y_dev
.
FromDevice
(
y
.
mData
.
data
());
y_dev
.
FromDevice
(
y
.
mData
.
data
());
pass
&=
ck
::
utils
::
check_err
(
y
,
host_y
,
"Error: Incorrect results"
,
1
e
-
3
,
1
e
-
3
);
validator
.
check_err
(
y
,
host_y
,
"Error: Incorrect results"
,
1
e
-
3
,
1
e
-
3
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp16.cpp
View file @
ce87bcc7
...
@@ -398,9 +398,9 @@ int main(int argc, char* argv[])
...
@@ -398,9 +398,9 @@ int main(int argc, char* argv[])
cde_element_op
(
e_gs_ms_ns_host_result
(
idx
),
c_ms_ns_host_result
(
idx
),
d_gs_ms_ns
(
idx
));
cde_element_op
(
e_gs_ms_ns_host_result
(
idx
),
c_ms_ns_host_result
(
idx
),
d_gs_ms_ns
(
idx
));
});
});
return
ck
::
utils
::
check_err
(
e_gs_ms_ns_device_result
.
mData
,
e_gs_ms_ns_host_result
.
mData
)
ck
::
utils
::
CorrectnessValidator
validator
;
?
0
validator
.
check_err
(
e_gs_ms_ns_device_result
.
mData
,
e_gs_ms_ns_host_result
.
mData
);
:
1
;
return
!
validator
.
is_success
()
;
}
}
return
0
;
return
0
;
...
...
example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp32.cpp
View file @
ce87bcc7
...
@@ -398,9 +398,9 @@ int main(int argc, char* argv[])
...
@@ -398,9 +398,9 @@ int main(int argc, char* argv[])
cde_element_op
(
e_gs_ms_ns_host_result
(
idx
),
c_ms_ns_host_result
(
idx
),
d_gs_ms_ns
(
idx
));
cde_element_op
(
e_gs_ms_ns_host_result
(
idx
),
c_ms_ns_host_result
(
idx
),
d_gs_ms_ns
(
idx
));
});
});
return
ck
::
utils
::
check_err
(
e_gs_ms_ns_device_result
.
mData
,
e_gs_ms_ns_host_result
.
mData
)
ck
::
utils
::
CorrectnessValidator
validator
;
?
0
validator
.
check_err
(
e_gs_ms_ns_device_result
.
mData
,
e_gs_ms_ns_host_result
.
mData
);
:
1
;
return
validator
.
is_success
()
;
}
}
return
0
;
return
0
;
...
...
example/44_elementwise_permute/elementwise_permute_4D_fp16.cpp
View file @
ce87bcc7
...
@@ -100,7 +100,7 @@ int main()
...
@@ -100,7 +100,7 @@ int main()
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
tflops
<<
" TFlops, "
<<
gb_per_sec
<<
" GB/s"
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
tflops
<<
" TFlops, "
<<
gb_per_sec
<<
" GB/s"
<<
std
::
endl
;
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
if
(
do_verification
)
if
(
do_verification
)
{
{
...
@@ -108,9 +108,8 @@ int main()
...
@@ -108,9 +108,8 @@ int main()
Tensor
<
BDataType
>
host_b
(
nhwc
);
Tensor
<
BDataType
>
host_b
(
nhwc
);
host_elementwise4D
(
host_b
,
a
,
PassThrough
{});
host_elementwise4D
(
host_b
,
a
,
PassThrough
{});
pass
&=
validator
.
check_err
(
b
.
mData
,
host_b
.
mData
,
"Error: Incorrect results b"
,
1e-3
,
1e-3
);
ck
::
utils
::
check_err
(
b
.
mData
,
host_b
.
mData
,
"Error: Incorrect results b"
,
1e-3
,
1e-3
);
}
}
return
pass
?
0
:
1
;
return
!
validator
.
is_success
()
;
}
}
example/44_elementwise_permute/elementwise_permute_4D_fp16_2d.cpp
View file @
ce87bcc7
...
@@ -110,7 +110,7 @@ int main()
...
@@ -110,7 +110,7 @@ int main()
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
tflops
<<
" TFlops, "
<<
gb_per_sec
<<
" GB/s"
std
::
cout
<<
"Perf: "
<<
ave_time
<<
" ms, "
<<
tflops
<<
" TFlops, "
<<
gb_per_sec
<<
" GB/s"
<<
std
::
endl
;
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
if
(
do_verification
)
if
(
do_verification
)
{
{
...
@@ -122,9 +122,8 @@ int main()
...
@@ -122,9 +122,8 @@ int main()
host_b
,
a
,
nchw
,
PassThrough
{});
host_b
,
a
,
nchw
,
PassThrough
{});
// LogRangeAsType<float>(std::cout << "Host b : ", host_b.mData, ",") << std::endl;
// LogRangeAsType<float>(std::cout << "Host b : ", host_b.mData, ",") << std::endl;
pass
&=
validator
.
check_err
(
b
.
mData
,
host_b
.
mData
,
"Error: Incorrect results b"
,
1e-3
,
1e-3
);
ck
::
utils
::
check_err
(
b
.
mData
,
host_b
.
mData
,
"Error: Incorrect results b"
,
1e-3
,
1e-3
);
}
}
return
pass
?
0
:
1
;
return
!
validator
.
is_success
()
;
}
}
example/45_elementwise_normalization/elementwise_layernorm_blockwise.cpp
View file @
ce87bcc7
...
@@ -156,7 +156,7 @@ int main()
...
@@ -156,7 +156,7 @@ int main()
std
::
cout
<<
"Bandwidth is : "
<<
bandwidth
<<
"GB/s . "
<<
std
::
endl
;
std
::
cout
<<
"Bandwidth is : "
<<
bandwidth
<<
"GB/s . "
<<
std
::
endl
;
std
::
cout
<<
"Time elapase is : "
<<
ela_time
<<
" ms . "
<<
std
::
endl
;
std
::
cout
<<
"Time elapase is : "
<<
ela_time
<<
" ms . "
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
{
{
std
::
vector
<
std
::
size_t
>
mn
=
{
static_cast
<
unsigned
long
>
(
M
),
std
::
vector
<
std
::
size_t
>
mn
=
{
static_cast
<
unsigned
long
>
(
M
),
static_cast
<
unsigned
long
>
(
N
)};
static_cast
<
unsigned
long
>
(
N
)};
...
@@ -184,12 +184,11 @@ int main()
...
@@ -184,12 +184,11 @@ int main()
ref_invoker
.
Run
(
ref_argument
);
ref_invoker
.
Run
(
ref_argument
);
y_dev
.
FromDevice
(
y
.
mData
.
data
());
y_dev
.
FromDevice
(
y
.
mData
.
data
());
pass
&=
validator
.
check_err
(
y
.
mData
,
host_y
.
mData
,
"Error: Incorrect results d1"
,
1e-3
,
1e-3
);
ck
::
utils
::
check_err
(
y
.
mData
,
host_y
.
mData
,
"Error: Incorrect results d1"
,
1e-3
,
1e-3
);
if
(
!
validator
.
is_success
())
if
(
!
(
pass
))
{
{
std
::
cout
<<
"layernorm wrong"
<<
std
::
endl
;
std
::
cout
<<
"layernorm wrong"
<<
std
::
endl
;
}
}
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
example/46_gemm_add_multiply/run_gemm_add_multiply_example.inc
View file @
ce87bcc7
...
@@ -123,7 +123,9 @@ bool run_gemm_add_multiply(const ProblemSize& problem_size, const ExecutionConfi
...
@@ -123,7 +123,9 @@ bool run_gemm_add_multiply(const ProblemSize& problem_size, const ExecutionConfi
e_device_buf
.
FromDevice
(
e_m_n_device_result
.
mData
.
data
());
e_device_buf
.
FromDevice
(
e_m_n_device_result
.
mData
.
data
());
return
ck
::
utils
::
check_err
(
e_m_n_device_result
,
e_m_n_host_result
);
ck
::
utils
::
CorrectnessValidator
validator
;
validator
.
check_err
(
e_m_n_device_result
,
e_m_n_host_result
);
return
validator
.
is_success
();
}
}
return
true
;
return
true
;
...
...
example/47_gemm_bias_softmax_gemm_permute/gemm_bias_softmax_gemm_permute.cpp
View file @
ce87bcc7
...
@@ -396,13 +396,13 @@ int main(int argc, char* argv[])
...
@@ -396,13 +396,13 @@ int main(int argc, char* argv[])
double
rtol
=
1e-3
;
double
rtol
=
1e-3
;
double
atol
=
1e-3
;
double
atol
=
1e-3
;
return
ck
::
utils
::
check_err
(
c_gs_ms_os_device_result
.
mData
,
ck
::
utils
::
CorrectnessValidator
validator
;
validator
.
check_err
(
c_gs_ms_os_device_result
.
mData
,
c_gs_ms_os_host_result
.
mData
,
c_gs_ms_os_host_result
.
mData
,
"Error: Incorrect results!"
,
"Error: Incorrect results!"
,
rtol
,
rtol
,
atol
)
atol
);
?
0
return
!
validator
.
is_success
();
:
1
;
}
}
return
0
;
return
0
;
...
...
example/48_pool3d_fwd/pool3d_fwd_common.hpp
View file @
ce87bcc7
...
@@ -183,16 +183,18 @@ bool pool3d_test(bool do_verification,
...
@@ -183,16 +183,18 @@ bool pool3d_test(bool do_verification,
out_device_buf
.
FromDevice
(
out_n_c_do_ho_wo_device
.
mData
.
data
());
out_device_buf
.
FromDevice
(
out_n_c_do_ho_wo_device
.
mData
.
data
());
pass
=
pass
&&
ck
::
utils
::
check_err
(
out_n_c_do_ho_wo_device
,
out_n_c_do_ho_wo_host
);
ck
::
utils
::
CorrectnessValidator
validator
;
validator
.
check_err
(
out_n_c_do_ho_wo_device
,
out_n_c_do_ho_wo_host
);
if
constexpr
(
OutputIndex
)
if
constexpr
(
OutputIndex
)
{
{
out_indices_device_buf
.
FromDevice
(
out_indices_n_c_do_ho_wo_device
.
mData
.
data
());
out_indices_device_buf
.
FromDevice
(
out_indices_n_c_do_ho_wo_device
.
mData
.
data
());
pass
=
pass
&&
ck
::
utils
::
check_err
(
out_indices_n_c_do_ho_wo_device
,
ck
::
utils
::
CorrectnessValidator
validator
;
validator
.
check_err
(
out_indices_n_c_do_ho_wo_device
,
out_indices_n_c_do_ho_wo_host
);
out_indices_n_c_do_ho_wo_host
);
};
};
}
}
return
(
pa
ss
);
return
validator
.
is_succe
ss
(
);
};
};
example/49_maxpool2d_bwd/maxpool2d_bwd_common.hpp
View file @
ce87bcc7
...
@@ -174,7 +174,7 @@ bool maxpool_bwd_test(bool do_verification,
...
@@ -174,7 +174,7 @@ bool maxpool_bwd_test(bool do_verification,
std
::
cout
<<
"Pool fwd perf: "
<<
ave_time_fwd
<<
" ms"
<<
std
::
endl
;
std
::
cout
<<
"Pool fwd perf: "
<<
ave_time_fwd
<<
" ms"
<<
std
::
endl
;
std
::
cout
<<
"Pool bwd perf: "
<<
ave_time_bwd
<<
" ms"
<<
std
::
endl
;
std
::
cout
<<
"Pool bwd perf: "
<<
ave_time_bwd
<<
" ms"
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
if
(
do_verification
)
if
(
do_verification
)
{
{
...
@@ -219,10 +219,10 @@ bool maxpool_bwd_test(bool do_verification,
...
@@ -219,10 +219,10 @@ bool maxpool_bwd_test(bool do_verification,
indices_device_buf
.
FromDevice
(
indices_n_c_ho_wo_device
.
mData
.
data
());
indices_device_buf
.
FromDevice
(
indices_n_c_ho_wo_device
.
mData
.
data
());
din_device_buf
.
FromDevice
(
din_n_c_hi_wi_device
.
mData
.
data
());
din_device_buf
.
FromDevice
(
din_n_c_hi_wi_device
.
mData
.
data
());
pass
=
pass
&&
ck
::
utils
::
check_err
(
out_n_c_ho_wo_device
,
out_n_c_ho_wo_host
);
validator
.
check_err
(
out_n_c_ho_wo_device
,
out_n_c_ho_wo_host
);
pass
=
pass
&&
ck
::
utils
::
check_err
(
indices_n_c_ho_wo_device
,
indices_n_c_ho_wo_host
);
validator
.
check_err
(
indices_n_c_ho_wo_device
,
indices_n_c_ho_wo_host
);
pass
=
pass
&&
ck
::
utils
::
check_err
(
din_n_c_hi_wi_device
,
din_n_c_hi_wi_host
);
validator
.
check_err
(
din_n_c_hi_wi_device
,
din_n_c_hi_wi_host
);
}
}
return
(
pa
ss
);
return
validator
.
is_succe
ss
(
);
};
};
example/50_put_element/put_element_fp16.cpp
View file @
ce87bcc7
...
@@ -69,7 +69,7 @@ int main()
...
@@ -69,7 +69,7 @@ int main()
std
::
cout
<<
"perf: "
<<
ave_time
<<
" ms"
<<
std
::
endl
;
std
::
cout
<<
"perf: "
<<
ave_time
<<
" ms"
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
if
(
do_verification
)
if
(
do_verification
)
{
{
Tensor
<
YDataType
>
y_host
(
HostTensorDescriptor
{
N
});
Tensor
<
YDataType
>
y_host
(
HostTensorDescriptor
{
N
});
...
@@ -81,8 +81,8 @@ int main()
...
@@ -81,8 +81,8 @@ int main()
}
}
y_device_buf
.
FromDevice
(
y
.
mData
.
data
());
y_device_buf
.
FromDevice
(
y
.
mData
.
data
());
pass
=
ck
::
utils
::
check_err
(
y
,
y_host
);
validator
.
check_err
(
y
,
y_host
);
}
}
return
(
pass
?
0
:
1
);
return
!
validator
.
is_success
(
);
}
}
example/51_avgpool3d_bwd/avgpool3d_bwd_common.hpp
View file @
ce87bcc7
...
@@ -120,7 +120,7 @@ bool pool3d_bwd_test(bool do_verification,
...
@@ -120,7 +120,7 @@ bool pool3d_bwd_test(bool do_verification,
float
ave_time
=
invoker_ptr
->
Run
(
argument_ptr
.
get
(),
StreamConfig
{
nullptr
,
time_kernel
});
float
ave_time
=
invoker_ptr
->
Run
(
argument_ptr
.
get
(),
StreamConfig
{
nullptr
,
time_kernel
});
std
::
cout
<<
"Perf: "
<<
ave_time
<<
std
::
endl
;
std
::
cout
<<
"Perf: "
<<
ave_time
<<
std
::
endl
;
bool
pass
=
true
;
ck
::
utils
::
CorrectnessValidator
validator
;
if
(
do_verification
)
if
(
do_verification
)
{
{
...
@@ -140,8 +140,8 @@ bool pool3d_bwd_test(bool do_verification,
...
@@ -140,8 +140,8 @@ bool pool3d_bwd_test(bool do_verification,
ref_invoker
.
Run
(
ref_argument
);
ref_invoker
.
Run
(
ref_argument
);
din_device_buf
.
FromDevice
(
din_dev
.
mData
.
data
());
din_device_buf
.
FromDevice
(
din_dev
.
mData
.
data
());
pass
=
ck
::
utils
::
check_err
(
din_dev
,
din_host
);
validator
.
check_err
(
din_dev
,
din_host
);
}
}
return
pass
;
return
validator
.
is_success
()
;
}
}
Prev
1
2
3
4
5
6
7
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