XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ > Struct Template Reference

Kslicing GEMM_UNIVERSAL implementation. More...

#include <dispatch_policy.hpp>

Public Types

using group_swizzle_policy = group_swizzle_policy_
 

Static Public Attributes

static constexpr int global_ratio = global_ratio_
 
static constexpr int local_ratio = local_ratio_
 
static constexpr gpu_arch arch_tag = group_swizzle_policy::arch_tag
 

Detailed Description

template<typename group_swizzle_policy_, int global_ratio_ = 1, int local_ratio_ = 1>
struct gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ >

Kslicing GEMM_UNIVERSAL implementation.

A special GEMM_UNIVERSAL implementation to increase the hardware occupancy by splitting the GEMM_UNIVERSAL task along k dimension. It includes inter-group reduction (by using global atomic) and intra-group reduction (by using local memory for data exchange).

Template Parameters
num_global_kslicing_Is the k dim split ratio between groups.
num_local_kslicing_Is the k dim split ratio within a group.
arch_tag_Is the HW architecture.

Member Typedef Documentation

◆ group_swizzle_policy

template<typename group_swizzle_policy_ , int global_ratio_ = 1, int local_ratio_ = 1>
using gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ >::group_swizzle_policy = group_swizzle_policy_

Member Data Documentation

◆ arch_tag

template<typename group_swizzle_policy_ , int global_ratio_ = 1, int local_ratio_ = 1>
constexpr gpu_arch gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ >::arch_tag = group_swizzle_policy::arch_tag
staticconstexpr

◆ global_ratio

template<typename group_swizzle_policy_ , int global_ratio_ = 1, int local_ratio_ = 1>
constexpr int gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ >::global_ratio = global_ratio_
staticconstexpr

◆ local_ratio

template<typename group_swizzle_policy_ , int global_ratio_ = 1, int local_ratio_ = 1>
constexpr int gpu::xetla::kernel::dispatch_policy_kslicing< group_swizzle_policy_, global_ratio_, local_ratio_ >::local_ratio = local_ratio_
staticconstexpr