GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Namespaces | Typedefs | Functions | Variables
tsmttsm.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/tsmttsm.h"
#include "ghost/tsmttsm_var2_plain_gen.h"
#include "ghost/tsmttsm_var2_avx_gen.h"
#include "ghost/tsmttsm_plain_gen.h"
#include "ghost/tsmttsm_varcols1_plain_gen.h"
#include "ghost/tsmttsm_varcols2_plain_gen.h"
#include "ghost/tsmttsm_avx2_gen.h"
#include "ghost/tsmttsm_avx_gen.h"
#include "ghost/tsmttsm_sse_gen.h"
#include "ghost/tsmttsm_kahan_var2_plain_gen.h"
#include "ghost/tsmttsm_kahan_plain_gen.h"
#include "ghost/timing.h"
#include "ghost/machine.h"
#include "ghost/constants.h"
#include "ghost/locality.h"
#include "ghost/cpp11_fixes.h"
#include "ghost/autogen.h"
#include <unordered_map>
#include <vector>
#include "tsmttsm_kahan_plain.def"
#include "tsmttsm_kahan_var2_plain.def"
#include "tsmttsm_plain.def"
#include "tsmttsm_var2_plain.def"
#include "tsmttsm_varcols1_plain.def"
#include "tsmttsm_varcols2_plain.def"
#include "tsmttsm_var2_avx.def"
#include "tsmttsm_avx2.def"
#include "tsmttsm_avx.def"
#include "tsmttsm_sse.def"
Include dependency graph for tsmttsm.cpp:

Classes

struct  std::hash< ghost_tsmttsm_parameters >
 

Namespaces

 std
 

Typedefs

typedef ghost_tsmttsm_parameters ghost_tsmttsm_kahan_parameters
 

Functions

static bool operator== (const ghost_tsmttsm_parameters &a, const ghost_tsmttsm_parameters &b)
 
ghost_error ghost_tsmttsm_valid (ghost_densemat *x, ghost_densemat *v, const char *transv, ghost_densemat *w, const char *transw, void *alpha, void *beta, int reduce, ghost_gemm_flags flags, int printerror)
 Check whether TSMTTSM can be applied instead of GEMM with the given arguments. More...
 
ghost_error ghost_tsmttsm (ghost_densemat *x_in, ghost_densemat *v, ghost_densemat *w, void *alpha, void *beta, int reduce, int conjv, ghost_gemm_flags flags)
 Multiply a transposed distributed dense tall skinny matrix with another distributed dense tall skinny matrix and Allreduce the result. More...
 

Variables

static std::unordered_map
< ghost_tsmttsm_parameters,
ghost_tsmttsm_kernel
ghost_tsmttsm_kernels
 
static std::unordered_map
< ghost_tsmttsm_parameters,
ghost_tsmttsm_kernel
ghost_tsmttsm_kahan_kernels
 

Typedef Documentation

Function Documentation

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

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

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

Variable Documentation

std::unordered_map<ghost_tsmttsm_parameters, ghost_tsmttsm_kernel> ghost_tsmttsm_kahan_kernels
static
std::unordered_map<ghost_tsmttsm_parameters, ghost_tsmttsm_kernel> ghost_tsmttsm_kernels
static