Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
97072183
Commit
97072183
authored
Oct 17, 2022
by
Paul
Browse files
Format
parent
f050afb7
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
2630 additions
and
12 deletions
+2630
-12
src/targets/gpu/jit/ck_gemm_instances.cpp
src/targets/gpu/jit/ck_gemm_instances.cpp
+2628
-8
src/targets/gpu/kernels/include/migraphx/kernels/ck.hpp
src/targets/gpu/kernels/include/migraphx/kernels/ck.hpp
+1
-1
tools/tune_ck.py
tools/tune_ck.py
+1
-3
No files found.
src/targets/gpu/jit/ck_gemm_instances.cpp
View file @
97072183
...
@@ -5,14 +5,2634 @@
...
@@ -5,14 +5,2634 @@
#include <string>
#include <string>
#include <functional>
#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_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"
}}};
static
std
::
vector
<
std
::
vector
<
std
::
vector
<
std
::
string
>>>
instances
=
{
auto
it
=
std
::
find_if
(
instances
.
begin
(),
instances
.
end
(),
[
&
](
const
auto
&
v
)
{
{{
"ck::tensor_layout::gemm::RowMajor"
,
return
pred
(
v
[
0
]);
"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
);
return
it
->
at
(
i
);
}
}
src/targets/gpu/kernels/include/migraphx/kernels/ck.hpp
View file @
97072183
...
@@ -85,7 +85,7 @@ struct ck_nop
...
@@ -85,7 +85,7 @@ struct ck_nop
struct
ck_passthrough
struct
ck_passthrough
{
{
template
<
class
T
,
class
U
>
template
<
class
T
,
class
U
>
constexpr
void
operator
()(
T
&
y
,
U
x
)
const
constexpr
void
operator
()(
T
&
y
,
U
x
)
const
{
{
y
=
x
;
y
=
x
;
}
}
...
...
tools/tune_ck.py
View file @
97072183
...
@@ -95,9 +95,7 @@ def parse_args():
...
@@ -95,9 +95,7 @@ def parse_args():
type
=
str
,
type
=
str
,
metavar
=
'file'
,
metavar
=
'file'
,
help
=
'Output json file to save tunings'
)
help
=
'Output json file to save tunings'
)
parser
.
add_argument
(
'-n'
,
parser
.
add_argument
(
'-n'
,
type
=
int
,
help
=
'Number of instances to tune'
)
type
=
int
,
help
=
'Number of instances to tune'
)
args
=
parser
.
parse_args
()
args
=
parser
.
parse_args
()
return
args
return
args
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment