-
Couldn't load subscription status.
- Fork 64
Add more static_asserts in make_block_2d_copy_CD to prevent relevant future bugs
#577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -981,6 +981,7 @@ make_block_2d_copy_CD(CopyOp const& op, // Copy operation | |
| TiledMMA const& mma, // TiledMMA instance | ||
| Stride<Strides...> const& gstride) // Global memory strides | ||
| { | ||
| static_assert(is_xe_block_2d_atom_v<CopyOp>, "Expected a block 2D atom"); | ||
| return make_block_2d_copy_CD<ValType>(op, mma, gstride, find_x_mode(gstride), find_y_mode(gstride)); | ||
| } | ||
|
|
||
|
|
@@ -993,6 +994,7 @@ make_block_2d_copy_CD(CopyOp const& op, // Copy operation | |
| XMode const& x_mode, // x, y modes | ||
| YMode const& y_mode) | ||
| { | ||
| static_assert(is_xe_block_2d_atom_v<CopyOp>, "Expected a block 2D atom"); | ||
|
||
| // Retrieve MMA atom's (subgroup, value) -> (M,N) layout | ||
| auto tile_mn = select<0,1>(mma.tile_mnk()); | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This overload is also not really expected to be called directly but only by the other overload which already has the static_assert. And the equivalent overload for A/B also don't have the static_assert
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For A & B, CopyOp can be void, so they don't need a corresponding assert