XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ > Struct Template Reference

Workgroup level tile shape description. More...

#include <tile_shape.hpp>

Public Types

using work_group_t = work_group_t< wg_size_x *wg_size_y >
 

Static Public Attributes

static constexpr uint32_t wg_tile_size_x = wg_tile_size_x_
 
static constexpr uint32_t wg_tile_size_y = wg_tile_size_y_
 
static constexpr uint32_t sg_tile_size_x = sg_tile_size_x_
 
static constexpr uint32_t sg_tile_size_y = sg_tile_size_y_
 
static constexpr uint32_t wg_size_x = (wg_tile_size_x + sg_tile_size_x - 1) / sg_tile_size_x
 
static constexpr uint32_t wg_size_y = (wg_tile_size_y + sg_tile_size_y - 1) / sg_tile_size_y
 

Detailed Description

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
struct gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >

Workgroup level tile shape description.

Describes the task assignment and layout of subgroups in a group.

Template Parameters
wg_tile_size_x_Is the workgroup level tile size in x direction.
wg_tile_size_y_Is the workgroup level tile size in y direction.
sg_tile_size_x_Is the subgroup level tile size in x direction.
sg_tile_size_y_Is the subgroup level tile size in y direction.

Member Typedef Documentation

◆ work_group_t

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
using gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::work_group_t = work_group_t<wg_size_x * wg_size_y>

Member Data Documentation

◆ sg_tile_size_x

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::sg_tile_size_x = sg_tile_size_x_
staticconstexpr

◆ sg_tile_size_y

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::sg_tile_size_y = sg_tile_size_y_
staticconstexpr

◆ wg_size_x

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::wg_size_x = (wg_tile_size_x + sg_tile_size_x - 1) / sg_tile_size_x
staticconstexpr

◆ wg_size_y

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::wg_size_y = (wg_tile_size_y + sg_tile_size_y - 1) / sg_tile_size_y
staticconstexpr

◆ wg_tile_size_x

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::wg_tile_size_x = wg_tile_size_x_
staticconstexpr

◆ wg_tile_size_y

template<uint32_t wg_tile_size_x_, uint32_t wg_tile_size_y_, uint32_t sg_tile_size_x_, uint32_t sg_tile_size_y_>
constexpr uint32_t gpu::xetla::group::tile_shape_t< wg_tile_size_x_, wg_tile_size_y_, sg_tile_size_x_, sg_tile_size_y_ >::wg_tile_size_y = wg_tile_size_y_
staticconstexpr