Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
uni20::kernel::cpu::GemmLoop< T, MR, NR, KR > Class Template Reference

Generic M×N×K contraction engine with full K-dimension recursion. More...

#include <contract.hpp>

Public Member Functions

 GemmLoop (static_vector< extent_strides< 2 >, MR > const &Mgrp, static_vector< extent_strides< 2 >, NR > const &Ngrp, static_vector< extent_strides< 2 >, KR > const &Kgrp, T alpha, T beta) noexcept
 Build the loop engine for a fused contraction.
 
void run (T const *A0, T const *B0, T *C0) noexcept
 Perform C = β·C + α·(A ⋅ B) over all fused M, N, and K dimensions.
 

Detailed Description

template<typename T, std::size_t MR, std::size_t NR, std::size_t KR>
class uni20::kernel::cpu::GemmLoop< T, MR, NR, KR >

Generic M×N×K contraction engine with full K-dimension recursion.

Each dimension group stores extents and operand strides used to perform fused tensor contractions without materialising temporaries.

Template Parameters
TScalar type stored in the tensors.
MRNumber of fused M dimensions.
NRNumber of fused N dimensions.
KRNumber of fused K dimensions.

The documentation for this class was generated from the following file: