Commit f050afb7 authored by Paul's avatar Paul
Browse files

Use out own passthrough to workaround ck issues

parent 9c3073bd
......@@ -5,2634 +5,14 @@
#include <string>
#include <functional>
const std::vector<std::string>&
get_instance(std::size_t i, const std::function<bool(const std::vector<std::string>&)>& pred)
const std::vector<std::string>& get_instance(std::size_t i, const std::function<bool(const std::vector<std::string>&)>& pred)
{
static std::vector<std::vector<std::vector<std::string>>> instances = {
{{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"8",
"2",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"8",
"2",
"32",
"32",
"2",
"4",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"8",
"8",
"32",
"32",
"2",
"4",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"8",
"2",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"8",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"8",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<8,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"8",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"8",
"2",
"32",
"32",
"2",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<16,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"1",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"8",
"2",
"32",
"32",
"1",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"}},
{{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"2",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"2",
"8",
"32",
"32",
"2",
"4",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"8",
"8",
"32",
"32",
"2",
"4",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"2",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"2",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"2",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"2",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<8,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"2",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"2",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<16,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"1",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"}},
{{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"8",
"8",
"32",
"32",
"2",
"4",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"64",
"64",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"32",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"32",
"128",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"64",
"64",
"32",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,4>",
"8"},
{"ck::tensor_layout::gemm::RowMajor",
"ck::tensor_layout::gemm::ColumnMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"64",
"32",
"64",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"ck::Sequence<4,16,1>",
"ck::Sequence<1,0,2>",
"ck::Sequence<1,0,2>",
"2",
"8",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,4>",
"8"}},
{{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"2",
"2",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"256",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"2",
"2",
"32",
"32",
"2",
"4",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"256",
"32",
"8",
"8",
"32",
"32",
"2",
"4",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"2",
"2",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"4",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"2",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"2",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,4>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"2",
"2",
"32",
"32",
"2",
"2",
"ck::Sequence<8,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"128",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"2",
"2",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"8",
"1",
"1",
"1",
"ck::Sequence<1,16,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"2",
"2",
"32",
"32",
"2",
"1",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<16,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"128",
"64",
"32",
"8",
"8",
"32",
"32",
"2",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"1",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"2",
"2",
"32",
"32",
"1",
"2",
"ck::Sequence<16,16,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"ck::Sequence<8,32,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"4",
"2",
"0",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"},
{"ck::tensor_layout::gemm::ColumnMajor",
"ck::tensor_layout::gemm::RowMajor",
"ck::Tuple<>",
"ck::tensor_layout::gemm::RowMajor",
"ck::half_t",
"ck::half_t",
"float",
"float",
"ck::Tuple<>",
"ck::half_t",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::element_wise::PassThrough",
"ck::tensor_operation::device::GemmSpecialization::Default",
"1",
"256",
"64",
"128",
"32",
"8",
"8",
"32",
"32",
"1",
"2",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"1",
"8",
"1",
"ck::Sequence<4,64,1>",
"ck::Sequence<0,2,1>",
"ck::Sequence<0,2,1>",
"1",
"2",
"8",
"1",
"1",
"1",
"ck::Sequence<1,32,1,8>",
"8"}}};
auto it =
std::find_if(instances.begin(), instances.end(), [&](const auto& v) { return pred(v[0]); });
static std::vector<std::vector<std::vector<std::string>>> instances = {{{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","8","2","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","8","8","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","8","2","32","32","2","4","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","8","8","32","32","2","4","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","8","2","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","8","8","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","8","2","32","32","2","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","8","8","32","32","2","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","8","2","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<8,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","8","2","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","8","2","32","32","2","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<16,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","8","8","32","32","2","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","1","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","8","2","32","32","1","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","8","8","32","32","1","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"}},{{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","2","8","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","8","8","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","2","8","32","32","2","4","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","8","8","32","32","2","4","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","2","8","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","8","8","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","2","8","32","32","2","2","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","8","8","32","32","2","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","2","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","2","8","32","32","2","2","ck::Sequence<8,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","2","8","32","32","2","1","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","8","8","32","32","2","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","2","8","32","32","1","2","ck::Sequence<16,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","8","8","32","32","1","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","1","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"}},{{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","8","8","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","8","8","32","32","2","4","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","8","8","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","8","8","32","32","2","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","64","64","64","32","8","8","32","32","2","2","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","8","8","32","32","2","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","8","8","32","32","1","2","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,64,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","32","32","8","8","32","32","2","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","32","128","32","8","8","32","32","1","2","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,32,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","64","64","32","32","8","8","32","32","2","1","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,4>","8"},{"ck::tensor_layout::gemm::RowMajor","ck::tensor_layout::gemm::ColumnMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","64","32","64","32","8","8","32","32","1","2","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","ck::Sequence<4,16,1>","ck::Sequence<1,0,2>","ck::Sequence<1,0,2>","2","8","8","1","1","1","ck::Sequence<1,16,1,4>","8"}},{{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","2","2","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","256","128","32","8","8","32","32","4","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","2","2","32","32","2","4","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","256","32","8","8","32","32","2","4","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","2","2","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","128","32","8","8","32","32","4","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","2","2","32","32","2","2","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","128","32","8","8","32","32","2","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","2","2","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","128","64","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,4>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","2","2","32","32","2","2","ck::Sequence<8,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","128","64","128","32","8","8","32","32","2","2","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","8","1","1","1","ck::Sequence<1,16,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","2","2","32","32","2","1","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<16,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","128","64","32","8","8","32","32","2","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","1","8","1","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","2","2","32","32","1","2","ck::Sequence<16,16,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","ck::Sequence<8,32,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","4","2","0","1","1","ck::Sequence<1,32,1,8>","8"},{"ck::tensor_layout::gemm::ColumnMajor","ck::tensor_layout::gemm::RowMajor","ck::Tuple<>","ck::tensor_layout::gemm::RowMajor","ck::half_t","ck::half_t","float","float","ck::Tuple<>","ck::half_t","ck_passthrough","ck_passthrough","ck_passthrough","ck::tensor_operation::device::GemmSpecialization::Default","1","256","64","128","32","8","8","32","32","1","2","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","1","8","1","ck::Sequence<4,64,1>","ck::Sequence<0,2,1>","ck::Sequence<0,2,1>","1","2","8","1","1","1","ck::Sequence<1,32,1,8>","8"}}};
auto it = std::find_if(instances.begin(), instances.end(), [&](const auto& v) {
return pred(v[0]);
});
return it->at(i);
}
......@@ -82,5 +82,14 @@ struct ck_nop
}
};
struct ck_passthrough
{
template <class T, class U>
constexpr void operator()(T& y , U x) const
{
y = x;
}
};
} // namespace migraphx
#endif // MIGRAPHX_GUARD_KERNELS_CK_HPP
......@@ -75,10 +75,10 @@ def parse_log(f):
yield config
def benchmark_log(f):
def benchmark_log(f, n):
result = []
for config in parse_log(f):
tuned = benchmark(config, 13)
tuned = benchmark(config, n)
result.append([config, tuned])
return result
......@@ -95,12 +95,15 @@ def parse_args():
type=str,
metavar='file',
help='Output json file to save tunings')
parser.add_argument('-n',
type=int,
help='Number of instances to tune')
args = parser.parse_args()
return args
def run(args):
tuned = benchmark_log(args.log)
tuned = benchmark_log(args.log, args.n)
json.dump(tuned, open(args.out, 'w+'))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment