mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-13 01:36:06 +00:00
Modularize ckProfiler operations (#514)
* Re-structure ckProfiler source files * Rename profiler.cpp to main.cpp * Modularize ckProfiler operations * Add description for profiler operations * Use longer name to avoid name collision * Use macro to delay expansion * Use std::move() to avoid object copying * Prohibit users from calling dtor * Use macro to eliminate redundant code * Make friend function hidden * Add missing include directive <iostream> * Fix wrong include directives * Remove int8 from batchnorm-forward instances since it is not needed for forward training and could fail test Co-authored-by: Qianfeng Zhang <Qianfeng.Zhang@amd.com>
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
#include <initializer_list>
|
||||
#include <cstdlib>
|
||||
|
||||
#include "profiler/include/profile_gemm_splitk_impl.hpp"
|
||||
#include "profiler/profile_gemm_splitk_impl.hpp"
|
||||
#include "profiler_operation_registry.hpp"
|
||||
|
||||
enum struct GemmMatrixLayout
|
||||
{
|
||||
@@ -24,11 +25,14 @@ enum struct GemmDataType
|
||||
INT8_INT8_INT8, // 3
|
||||
};
|
||||
|
||||
#define OP_NAME "gemm_splitk"
|
||||
#define OP_DESC "Split-K GEMM"
|
||||
|
||||
int profile_gemm_splitk(int argc, char* argv[])
|
||||
{
|
||||
if(argc != 15)
|
||||
{
|
||||
printf("arg1: tensor operation (gemm_splitk: Split-K GEMM)\n");
|
||||
printf("arg1: tensor operation (" OP_NAME ": " OP_DESC ")\n");
|
||||
printf("arg2: data type (0: fp32; 1: fp16; 2: bf16; 3: int8)\n");
|
||||
printf("arg3: matrix layout (0: A[m, k] * B[k, n] = C[m, n];\n");
|
||||
printf(" 1: A[m, k] * B[n, k] = C[m, n];\n");
|
||||
@@ -146,3 +150,5 @@ int profile_gemm_splitk(int argc, char* argv[])
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER_PROFILER_OPERATION(OP_NAME, OP_DESC, profile_gemm_splitk);
|
||||
|
||||
Reference in New Issue
Block a user