/*************************************************************************************************** * Copyright (c) 2023 - 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: BSD-3-Clause * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * **************************************************************************************************/ #pragma once #include #include namespace cute { template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, half_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = half_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 24, 32>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 40, 32>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 48, 32>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 56, 32>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 72, 32>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 80, 32>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout< 88, 32>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<104, 32>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<112, 32>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<120, 32>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<136, 32>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<144, 32>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<152, 32>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<160, 32>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<168, 32>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<176, 32>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<184, 32>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<200, 32>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<208, 32>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<216, 32>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<224, 32>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<232, 32>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<240, 32>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 32>; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, bfloat16_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = bfloat16_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_32>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x32; using ELayout = GMMA::ELayout_64x32; using BLayout = GMMA::ABLayout<248, 32>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 24, 16>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 24, 16>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 40, 16>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 40, 16>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 48, 16>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 48, 16>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 56, 16>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 56, 16>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 72, 16>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 72, 16>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 80, 16>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 80, 16>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 88, 16>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout< 88, 16>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<104, 16>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<104, 16>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<112, 16>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<112, 16>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<120, 16>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<120, 16>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<136, 16>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<136, 16>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<144, 16>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<144, 16>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<152, 16>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<152, 16>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<160, 16>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<160, 16>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<168, 16>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<168, 16>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<176, 16>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<176, 16>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<184, 16>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<184, 16>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<200, 16>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<200, 16>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<208, 16>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<208, 16>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<216, 16>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<216, 16>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<224, 16>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<224, 16>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<232, 16>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<232, 16>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<240, 16>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<240, 16>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 16>; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<248, 16>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, tfloat32_t>; using ValTypeE = sparse_elem<4, uint8_t>; using ValTypeB = tfloat32_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_16>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x16; using ELayout = GMMA::ELayout_64x16; using BLayout = GMMA::ABLayout<248, 16>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, int8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = int8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = int32_t; using ValTypeA = sparse_elem<2, uint8_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = uint8_t; using ValTypeC = int32_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e4m3_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e4m3_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_24,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 24, 64>; using CLayout = GMMA::CLayout_64x24; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_40,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 40, 64>; using CLayout = GMMA::CLayout_64x40; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_48,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 48, 64>; using CLayout = GMMA::CLayout_64x48; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_56,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 56, 64>; using CLayout = GMMA::CLayout_64x56; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_72,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 72, 64>; using CLayout = GMMA::CLayout_64x72; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_80,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 80, 64>; using CLayout = GMMA::CLayout_64x80; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_88,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout< 88, 64>; using CLayout = GMMA::CLayout_64x88; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_104,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<104, 64>; using CLayout = GMMA::CLayout_64x104; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_112,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<112, 64>; using CLayout = GMMA::CLayout_64x112; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_120,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<120, 64>; using CLayout = GMMA::CLayout_64x120; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_136,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<136, 64>; using CLayout = GMMA::CLayout_64x136; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_144,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<144, 64>; using CLayout = GMMA::CLayout_64x144; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_152,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<152, 64>; using CLayout = GMMA::CLayout_64x152; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_160,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<160, 64>; using CLayout = GMMA::CLayout_64x160; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_168,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<168, 64>; using CLayout = GMMA::CLayout_64x168; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_176,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<176, 64>; using CLayout = GMMA::CLayout_64x176; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_184,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<184, 64>; using CLayout = GMMA::CLayout_64x184; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_200,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<200, 64>; using CLayout = GMMA::CLayout_64x200; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_208,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<208, 64>; using CLayout = GMMA::CLayout_64x208; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_216,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<216, 64>; using CLayout = GMMA::CLayout_64x216; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_224,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<224, 64>; using CLayout = GMMA::CLayout_64x224; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_232,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<232, 64>; using CLayout = GMMA::CLayout_64x232; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_240,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<240, 64>; using CLayout = GMMA::CLayout_64x240; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = half_t; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = half_t; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeA = GMMA::smem_desc; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ABLayout< 64, 64>; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// template struct MMA_Traits> { using ValTypeD = float; using ValTypeA = sparse_elem<2, float_e5m2_t>; using ValTypeE = sparse_elem<8, uint8_t>; using ValTypeB = float_e5m2_t; using ValTypeC = float; using FrgTypeB = GMMA::smem_desc; using Shape_MNK = Shape<_64,_248,_64>; using ThrID = Layout<_128>; using ALayout = GMMA::ALayout_64x64; using ELayout = GMMA::ELayout_64x64; using BLayout = GMMA::ABLayout<248, 64>; using CLayout = GMMA::CLayout_64x248; GMMA::ScaleOut accumulate_ = GMMA::ScaleOut::One; }; //////////////////////////////////////////////////////////////////////////////////////////////////// } // end namespace cute