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
7863805d
Commit
7863805d
authored
Aug 31, 2023
by
Bartlomiej Wroblewski
Browse files
Review: Improve error messages
parent
e7836e46
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
8 deletions
+13
-8
include/ck/tensor_operation/gpu/block/blockwise_gemm_dpp.hpp
include/ck/tensor_operation/gpu/block/blockwise_gemm_dpp.hpp
+5
-3
include/ck/tensor_operation/gpu/grid/gridwise_gemm_dpp.hpp
include/ck/tensor_operation/gpu/grid/gridwise_gemm_dpp.hpp
+8
-5
No files found.
include/ck/tensor_operation/gpu/block/blockwise_gemm_dpp.hpp
View file @
7863805d
...
...
@@ -123,7 +123,7 @@ struct BlockwiseGemmDpp_k0mk1_k0nk1_m0n0m1n1m2n2
{
static_assert
(
AK0MK1BlockDesc
::
IsKnownAtCompileTime
()
&&
BK0NK1BlockDesc
::
IsKnownAtCompileTime
(),
"
w
rong!
Desc
should be known at
compile-time
"
);
"
W
rong!
Block descriptors
should be known at
the time of compilation.
"
);
#if defined(__HIP_DEVICE_COMPILE__)
// Host wave size can be different than the device one and this assert could fail for host,
...
...
@@ -132,8 +132,10 @@ struct BlockwiseGemmDpp_k0mk1_k0nk1_m0n0m1n1m2n2
"ThisThreadBlock::GetNumOfThread() != MWaves * NWaves * WaveSize
\n
"
);
#endif
static_assert
(
MPerBlock
%
(
MPerDpp
*
MRepeat
)
==
0
&&
NPerBlock
%
(
NPerDpp
*
NRepeat
)
==
0
,
"wrong!"
);
static_assert
(
MPerBlock
%
(
MPerDpp
*
MRepeat
)
==
0
,
"Invalid parameters. MPerBlock must be divisible by MPerDpp * MRepeat."
);
static_assert
(
NPerBlock
%
(
NPerDpp
*
NRepeat
)
==
0
,
"Invalid parameters. NPerBlock must be divisible by NPerDpp * NRepeat."
);
}
__host__
__device__
static
constexpr
auto
GetCThreadDescriptor_M0_N0_M1_N1_M2_N2
()
...
...
include/ck/tensor_operation/gpu/grid/gridwise_gemm_dpp.hpp
View file @
7863805d
...
...
@@ -260,11 +260,14 @@ struct GridwiseGemm_k0mk1_k0nk1_mn_dpp
__host__
static
constexpr
bool
CheckValidity
(
const
Problem
&
problem
)
{
static_assert
(
is_known_at_compile_time
<
remove_cv_t
<
decltype
(
K1
)
>>::
value
,
"wrong! K1 need to be known at compile-time"
);
static_assert
((
MPerBlock
%
(
MPerDpp
*
MDppPerWave
)
==
0
)
&&
(
NPerBlock
%
(
NDppPerWave
*
NPerDpp
))
==
0
,
"Invalid tuning param!"
);
"Wrong! K1 must be known at the time of compilation."
);
static_assert
(
MPerBlock
%
(
MPerDpp
*
MDppPerWave
)
==
0
,
"Invalid tuning parameters! MPerBlock must be divisible by MPerDpp * MDppPerWave."
);
static_assert
(
NPerBlock
%
(
NPerDpp
*
NDppPerWave
)
==
0
,
"Invalid tuning parameters! NPerBlock must be divisible by NPerDpp * NDppPerWave."
);
if
constexpr
(
!
(
GemmSpec
==
tensor_operation
::
device
::
GemmSpecialization
::
MPadding
||
GemmSpec
==
tensor_operation
::
device
::
GemmSpecialization
::
MNPadding
||
...
...
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