GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Namespaces | Functions | Variables
tsmm.cpp File Reference
#include "ghost/config.h"
#include "ghost/types.h"
#include "ghost/densemat.h"
#include "ghost/util.h"
#include "ghost/math.h"
#include "ghost/tsmm.h"
#include "ghost/tsmm_var2_plain_gen.h"
#include "ghost/tsmm_var2_sse_gen.h"
#include "ghost/tsmm_plain_gen.h"
#include "ghost/tsmm_varincols_plain_gen.h"
#include "ghost/tsmm_varoutcols_plain_gen.h"
#include "ghost/tsmm_var2_avx_gen.h"
#include "ghost/tsmm_avx_gen.h"
#include "ghost/tsmm_sse_gen.h"
#include "ghost/timing.h"
#include "ghost/machine.h"
#include "ghost/constants.h"
#include "ghost/cpp11_fixes.h"
#include "ghost/autogen.h"
#include <unordered_map>
#include <vector>
#include "tsmm_var2_plain.def"
#include "tsmm_avx.def"
#include "tsmm_var2_avx.def"
#include "tsmm_varincols_plain.def"
#include "tsmm_varoutcols_plain.def"
#include "tsmm_sse.def"
#include "tsmm_var2_sse.def"
#include "tsmm_plain.def"
Include dependency graph for tsmm.cpp:

Classes

struct  std::hash< ghost_tsmm_parameters >
 

Namespaces

 std
 

Functions

static bool operator== (const ghost_tsmm_parameters &a, const ghost_tsmm_parameters &b)
 
ghost_error ghost_tsmm_valid (ghost_densemat *x, ghost_densemat *v, const char *transv, ghost_densemat *w, const char *transw, void *alpha, void *beta, int reduce, int printerror)
 Check whether TSMM can be applied instead of GEMM with the given arguments. More...
 
ghost_error ghost_tsmm (ghost_densemat *x, ghost_densemat *v, ghost_densemat *w_in, void *alpha, void *beta)
 Multiply a distributed dense tall skinny matrix with a redundant dense matrix. More...
 

Variables

static std::unordered_map
< ghost_tsmm_parameters,
ghost_tsmm_kernel
ghost_tsmm_kernels
 

Function Documentation

ghost_error ghost_tsmm_valid ( ghost_densemat x,
ghost_densemat v,
const char *  transv,
ghost_densemat w,
const char *  transw,
void *  alpha,
void *  beta,
int  reduce,
int  printerror 
)

Check whether TSMM can be applied instead of GEMM with the given arguments.

Parameters
x
v
transv
w
transw
alpha
beta
reduce
printerrorPrint an error message if application is not possible.
Returns
static bool operator== ( const ghost_tsmm_parameters a,
const ghost_tsmm_parameters b 
)
static

Variable Documentation

std::unordered_map<ghost_tsmm_parameters, ghost_tsmm_kernel> ghost_tsmm_kernels
static