mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-03 21:21:22 +00:00
Add host lib (#1134)
* Format * Format * Format * Remove const * Use the right template * Format * Format * add row/col instances * Add missing file * fixed * Format * Updates * Format * fixed rrr layout * Format * Update test and embed modules * Restore older version * Update year * Set -fPIC * Format * Use double for isnan * rename host folder to codegen + minor fix * add codegen CI test * add option to build components without building CK * fix the groovy syntax * fix typo * use the correct function for the codegen stage --------- Co-authored-by: Jing Zhang <jizha@amd.com> Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com> Co-authored-by: illsilin <Illia.Silin@amd.com>
This commit is contained in:
49
codegen/include/ck/host/operation/gemm.hpp
Normal file
49
codegen/include/ck/host/operation/gemm.hpp
Normal file
@@ -0,0 +1,49 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace ck {
|
||||
namespace host {
|
||||
namespace operation {
|
||||
|
||||
struct TileDesc
|
||||
{
|
||||
int block_size = 0;
|
||||
int m_per_block = 0;
|
||||
int n_per_block = 0;
|
||||
int k_per_block = 0;
|
||||
int ak1 = 0;
|
||||
int bk1 = 0;
|
||||
int m_per_XDL = 0;
|
||||
int n_per_XDL = 0;
|
||||
int m_Xdl_per_wave = 0;
|
||||
int n_Xdl_per_wave = 0;
|
||||
int num_gemmk_prefetch_stage = 0;
|
||||
};
|
||||
struct BlockTransferDesc
|
||||
{
|
||||
std::string thread_cluster_length = "";
|
||||
std::string thread_cluster_arrange_order = "";
|
||||
std::string src_access_order = "";
|
||||
int src_vec_dim = 0;
|
||||
int src_scalar_per_vector = 0;
|
||||
int dst_scalar_per_vector_k1 = 0;
|
||||
int lds_add_extra_dim = 0;
|
||||
};
|
||||
struct CShuffleDesc
|
||||
{
|
||||
int m_Xdl_per_wave_per_shuffle = 0;
|
||||
int n_Xdl_per_wave_per_shuffle = 0;
|
||||
};
|
||||
struct CBlockTransferDesc
|
||||
{
|
||||
std::string cluster_lengths_m_block_m_wave_m_per_Xdl_n_block_n_wave_n_per_Xdl = "";
|
||||
int scalar_per_vector_n_wave_n_per_Xdl = 0;
|
||||
};
|
||||
|
||||
} // namespace operation
|
||||
} // namespace host
|
||||
} // namespace ck
|
||||
Reference in New Issue
Block a user