mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-14 02:02:46 +00:00
* tweak conv for odd C
* update script
* clean up elementwise op
* fix build
* clean up
* added example for gemm+bias+relu+add
* added example for gemm+bias+relu
* add profiler for gemm_s_shuffle; re-org files
* add profiler
* fix build
* clean up
* clean up
* clean up
* fix build
[ROCm/composable_kernel commit: 823657ed12]
61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
#include <iostream>
|
|
#include <numeric>
|
|
#include <initializer_list>
|
|
#include <cstdlib>
|
|
#include <stdlib.h>
|
|
#include <half.hpp>
|
|
|
|
int profile_gemm(int, char*[]);
|
|
int profile_gemm_bias_relu(int, char*[]);
|
|
int profile_gemm_bias_relu_add(int, char*[]);
|
|
int profile_conv_fwd(int, char*[]);
|
|
int profile_conv_fwd_bias_relu(int, char*[]);
|
|
int profile_conv_fwd_bias_relu_add(int, char*[]);
|
|
int profile_conv_fwd_bias_relu_atomic_add(int, char*[]);
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
if(strcmp(argv[1], "gemm") == 0)
|
|
{
|
|
return profile_gemm(argc, argv);
|
|
}
|
|
if(strcmp(argv[1], "gemm_bias_relu") == 0)
|
|
{
|
|
return profile_gemm_bias_relu(argc, argv);
|
|
}
|
|
if(strcmp(argv[1], "gemm_bias_relu_add") == 0)
|
|
{
|
|
return profile_gemm_bias_relu_add(argc, argv);
|
|
}
|
|
else if(strcmp(argv[1], "conv_fwd") == 0)
|
|
{
|
|
return profile_conv_fwd(argc, argv);
|
|
}
|
|
else if(strcmp(argv[1], "conv_fwd_bias_relu") == 0)
|
|
{
|
|
return profile_conv_fwd_bias_relu(argc, argv);
|
|
}
|
|
else if(strcmp(argv[1], "conv_fwd_bias_relu_add") == 0)
|
|
{
|
|
return profile_conv_fwd_bias_relu_add(argc, argv);
|
|
}
|
|
else if(strcmp(argv[1], "conv_fwd_bias_relu_atomic_add") == 0)
|
|
{
|
|
return profile_conv_fwd_bias_relu_atomic_add(argc, argv);
|
|
}
|
|
else
|
|
{
|
|
// clang-format off
|
|
printf("arg1: tensor operation (gemm: GEMM\n"
|
|
" gemm_bias_relu: GEMM+Bias+ReLU\n"
|
|
" gemm_bias_relu_add: GEMM+Bias+ReLU+Add\n"
|
|
" conv_fwd: ForwardConvolution\n"
|
|
" conv_fwd_bias_relu: ForwardConvolution+Bias+ReLU\n"
|
|
" conv_fwd_bias_relu_add: ForwardConvolution+Bias+ReLU+Add\n"
|
|
" conv_fwd_bias_relu_atomic_add: ForwardConvolution+Bias+ReLU+AtomicAdd\n");
|
|
// clang-format on
|
|
|
|
return 0;
|
|
}
|
|
}
|