ergo
MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions > Class Template Reference

Template for packing of matrix elements. More...

#include <mm_kernel_inner_sse2_A.h>

Classes

struct  Assign_to_packed
 
struct  Extract_from_packed
 

Static Public Member Functions

template<template< typename T_ordering > class T_assign, typename T_ordering_matrix >
static void exec (typename T_assign< T_ordering_matrix >::PtrType X, typename T_assign< T_ordering_matrix >::PtrTypePacked X_packed, int const rows_total_matrix, int const cols_total_matrix)
 
template<typename T_ordering_matrix >
static void pack (real const *const X, real *X_packed, int const rows_total_matrix, int const cols_total_matrix)
 Convenience function for assignments to packed matrix. More...
 
template<typename T_ordering_matrix >
static void unpack (real *X, real const *const X_packed, int const rows_total_matrix, int const cols_total_matrix)
 Convenience function for extracting matrix from packed matrix. More...
 

Static Public Attributes

static int const size_packed = T_rows * T_cols * T_repetitions
 
static int const rows = T_rows
 
static int const cols = T_cols
 

Detailed Description

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel, int T_repetitions>
class MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >

Template for packing of matrix elements.

Class template for packing of matrix elements prior to matrix-matrix multiply.

Member Function Documentation

◆ exec()

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
template<template< typename T_ordering > class T_assign, typename T_ordering_matrix >
static void MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::exec ( typename T_assign< T_ordering_matrix >::PtrType  X,
typename T_assign< T_ordering_matrix >::PtrTypePacked  X_packed,
int const  rows_total_matrix,
int const  cols_total_matrix 
)
inlinestatic

◆ pack()

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
template<typename T_ordering_matrix >
static void MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::pack ( real const *const  X,
real X_packed,
int const  rows_total_matrix,
int const  cols_total_matrix 
)
inlinestatic

Convenience function for assignments to packed matrix.

The template argument specifies how the original (unpacked) matrix is stored (e.g. column- or rowwise)

◆ unpack()

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
template<typename T_ordering_matrix >
static void MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::unpack ( real X,
real const *const  X_packed,
int const  rows_total_matrix,
int const  cols_total_matrix 
)
inlinestatic

Convenience function for extracting matrix from packed matrix.

The template argument specifies how the unpacked matrix is stored (e.g. column- or rowwise)

Member Data Documentation

◆ cols

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
int const MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::cols = T_cols
static

◆ rows

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
int const MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::rows = T_rows
static

◆ size_packed

template<typename T_real , typename T_reg , int T_M, int T_N, int T_K>
template<int T_rows, int T_cols, typename T_ordering_kernel , int T_repetitions>
int const MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Pack< T_rows, T_cols, T_ordering_kernel, T_repetitions >::size_packed = T_rows * T_cols * T_repetitions
static

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