NumericAL
A header-only C++20 lexer built on REAL
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
numerical::detail::b_rows Struct Reference

B as gemm_packed reads it by default: row-major, k × n, its rows ldb apart. More...

#include <gemm.hpp>

Static Public Member Functions

template<std::size_t Nr, typename T >
static void pack (const T *b, std::size_t ldb, std::size_t p0, std::size_t j0, std::size_t kc, std::size_t cols, T *out)
 The kc × cols block of B from row p0 and column j0 into slivers of Nr columns.
 
template<typename Kernel >
static constexpr bool in_place (std::size_t ldb) noexcept
 Whether Kernel reads B's whole slivers in place.
 
template<typename T >
static const T * rows_of (const T *x, std::size_t ld, std::size_t, std::size_t, buffer< T > &, std::size_t &ld_out)
 The rows × cols operand row-major for the plain loop: x itself, ld apart.
 
template<typename T >
static const T & at (const T *b, std::size_t ldb, std::size_t p, std::size_t j) noexcept
 B's element in row p and column j.
 

Detailed Description

B as gemm_packed reads it by default: row-major, k × n, its rows ldb apart.

Definition at line 781 of file gemm.hpp.

Member Function Documentation

◆ at()

template<typename T >
static const T & numerical::detail::b_rows::at ( const T *  b,
std::size_t  ldb,
std::size_t  p,
std::size_t  j 
)
inlinestaticnoexcept

B's element in row p and column j.

Definition at line 818 of file gemm.hpp.

◆ in_place()

template<typename Kernel >
static constexpr bool numerical::detail::b_rows::in_place ( std::size_t  ldb)
inlinestaticconstexprnoexcept

Whether Kernel reads B's whole slivers in place.

Definition at line 799 of file gemm.hpp.

◆ pack()

template<std::size_t Nr, typename T >
static void numerical::detail::b_rows::pack ( const T *  b,
std::size_t  ldb,
std::size_t  p0,
std::size_t  j0,
std::size_t  kc,
std::size_t  cols,
T *  out 
)
inlinestatic

The kc × cols block of B from row p0 and column j0 into slivers of Nr columns.

Definition at line 786 of file gemm.hpp.

◆ rows_of()

template<typename T >
static const T * numerical::detail::b_rows::rows_of ( const T *  x,
std::size_t  ld,
std::size_t  ,
std::size_t  ,
buffer< T > &  ,
std::size_t &  ld_out 
)
inlinestatic

The rows × cols operand row-major for the plain loop: x itself, ld apart.

Definition at line 806 of file gemm.hpp.


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