-
Notifications
You must be signed in to change notification settings - Fork 5
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
ReImplement SMEM to RMEM Based on SwizzledLayout
#51
Conversation
include/cell/copy/warp.hpp
Outdated
@@ -397,9 +396,12 @@ struct SharedOffsetHelper<WarpLayout_, WarpShape_, Shared_, kMode_, | |||
constexpr static int kTilePerRow = Shared::kRows / WarpShape::kRows; | |||
constexpr static int kTilePerCol = Shared::kCols / WarpShape::kCols; | |||
|
|||
// constexpr static int kRowStride = kTilePerRow / tl::num_rows<WarpLayout>; | |||
// constexpr static int kColStride = | |||
// kTilePerCol / tl::num_cols<WarpLayout> * kTilePerRow; |
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.
Are lines 399 ~ 401 no longer useful, thus can be deleted?
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.
Deleted useless codes.
// using Shared = SharedTile<Element, tl::RowMajor<16, 16>>; | ||
using Shared = SharedTile<Element, tl::RowMajor<64, 128>>; | ||
// using Reg = RegTile<BaseTileRowMajor<Element>, tl::RowMajor<1, 1>>; | ||
using Reg = RegTile<BaseTileRowMajor<Element>, tl::RowMajor<4, 8>>; |
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.
Could you please explain why lines 157, 161, 167, 187, 192, 220, and 222 have been commented out?
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.
Because I want to use the WarpLayout
format which is more suitable for the current implementation.
tests/cpp/cell/test_s2r_copy.cu
Outdated
|
||
using SharedLayout = tl::RowMajor<kRows, kCols>; | ||
const bool kUseSwizzledLayout = true; | ||
using Shared = SharedTile<Element, SharedLayout, kUseSwizzledLayout>; | ||
using Reg = RegTile<BaseTileRowMajor<Element>, tl::RowMajor<2, 2>>; | ||
// using Reg = RegTile<BaseTileRowMajor<Element>, tl::RowMajor<2, 2>>; |
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.
Would combining lines 246–247 with line 255 produce a unit test case that's worth adding to the tests, or does it simply duplicate an existing test case?
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.
Deleted useless codes.
tests/cpp/cell/test_s2r_copy.cu
Outdated
const int kWarpPerRow = 2; | ||
const int kWarpPerCol = 2; | ||
// const int kWarpPerRow = 2; | ||
// const int kWarpPerCol = 2; |
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.
Do the test cases on lines 276–277 and 281–282 provide unique coverage worthy of being added to the tests, or do they simply duplicate existing tests?
If they offer unique coverage, please leave them in the comments; otherwise, they should be removed.
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.
Deleted useless codes.
tests/cpp/cell/test_single_wmma.cu
Outdated
run_test<96, 48, 80>(); | ||
// run_test<16, 16, 16>(); // Test the `BaseTile` 16x16x16 | ||
// run_test<16, 32, 16>(); | ||
// run_test<96, 48, 80>(); |
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.
Please add a comment explaining why these test cases are commented out if they're intended to provide unique coverage but aren't supported yet. Otherwise, delete them if they're not needed.
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.
Deleted useless codes.
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.
LGTM.
Progress:
Swizzle<3, 3, 3>
.STileIterator
to enable traversal based on the Swizzle layout.float
data type for R2S Storer.WarpLayout
configurations.