dpp_type< instr > Struct Template Reference#
ck::dpp_type< instr > Struct Template Reference
Detailed Description
template<DppInstr instr>
struct ck::dpp_type< instr >
struct ck::dpp_type< instr >
Structure representing DPP GEMM executed by a single wavefront.
Each structure instantiation must contain the following fields:
- wave_size - number of threads that execute a single DPP GEMM operation, usually equal to the number of threads in a wavefront;
- lanegroup_size - number of threads (lanes) that share data using DPP instruction modifier, it's 8 in case of DPP8;
- m_per_wave - size along M dimension of matrix C that is processed in a single DPP GEMM operation;
- n_per_wave - size along N dimension of matrix C that is processed in a single DPP GEMM operation;
- m_per_lanegroup - size along M dimension that is processed by a single lanegroup;
- n_per_lanegroup - size along N dimension that is processed by a single lanegroup;
- m_per_thread - size along M dimension of the tile calculated by a single thread;
- n_per_thread - size along N dimension of the tile calculated by a single thread;
- k_per_dpp - size along K dimension that is reduced in a single DPP GEMM operation;
- share_a - indicates whether we share matrix A or matrix B between lanes using DPP modifiers.
Not all the combinarions are supported now, for current restrictions see the static asserts in the DppSelector's contructor.
The documentation for this struct was generated from the following file: