mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-20 12:59:49 +00:00
CK-Tile Grouped GEMM refactor and post PR fixes (#1756)
* Grouped gemm simple code refactor
* Offset invoker
* Invoke generic Run, and replace name of parrtitioner variable
* Tests fix type
* Removed namespaces
* Add template param to avoid implicit cast
* Remove generic function
* Constant value
* underline enum to int16_t
* Generalize partitioner function
* Remove whitespaces
* Rename function
* Using support
* Clang-format
* Clang-format
* Fn-partitioner description fn
* Typo
* Typo 2
* Better description
* Better description
* Refactor after review
* Use ctr instead of set fn
* Inovke ctr and typo
* Comments
* Remove unnecessary comment
* Review, remove modulo
[ROCm/composable_kernel commit: 3c93d3c444]
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2018-2024, Advanced Micro Devices, Inc. All rights reserved.
|
||||
// Copyright (c) 2018-2025, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -678,4 +678,37 @@ struct HostTensor
|
||||
Descriptor mDesc;
|
||||
Data mData;
|
||||
};
|
||||
|
||||
template <typename TLayout>
|
||||
auto host_tensor_descriptor(std::size_t row, std::size_t col, std::size_t stride, TLayout layout)
|
||||
{
|
||||
using namespace ck_tile::literals;
|
||||
|
||||
if constexpr(std::is_same_v<decltype(layout), tensor_layout::gemm::RowMajor>)
|
||||
{
|
||||
return HostTensorDescriptor({row, col}, {stride, 1_uz});
|
||||
}
|
||||
else
|
||||
{
|
||||
return HostTensorDescriptor({row, col}, {1_uz, stride});
|
||||
}
|
||||
}
|
||||
template <typename TLayout>
|
||||
auto get_default_stride(std::size_t row, std::size_t col, std::size_t stride, TLayout layout)
|
||||
{
|
||||
if(stride == 0)
|
||||
{
|
||||
if constexpr(std::is_same_v<decltype(layout), tensor_layout::gemm::RowMajor>)
|
||||
{
|
||||
return col;
|
||||
}
|
||||
else
|
||||
{
|
||||
return row;
|
||||
}
|
||||
}
|
||||
else
|
||||
return stride;
|
||||
}
|
||||
|
||||
} // namespace ck_tile
|
||||
|
||||
Reference in New Issue
Block a user