GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tsmm.h
Go to the documentation of this file.
1 
6 #ifndef GHOST_TSMM_H
7 #define GHOST_TSMM_H
8 
9 #include "config.h"
10 #include "types.h"
11 #include "densemat.h"
12 #include "math.h"
13 
14 typedef struct
15 {
23  int xcols;
27  int vcols;
31  int unroll;
34 
39 
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
71  ghost_error ghost_tsmm(ghost_densemat *x, ghost_densemat *v, ghost_densemat *w, void *alpha, void *beta);
72 
88  ghost_error ghost_tsmm_valid(ghost_densemat *x, ghost_densemat *v, const char * transv,
89  ghost_densemat *w, const char *transw, void *alpha, void *beta, int reduce, int printerror);
90 
91  int ghost_tsmm_perf_GBs(double *perf, double time, void *varg);
92  int ghost_tsmm_perf_GFs(double *perf, double time, void *varg);
93 
94 #ifdef __cplusplus
95 }
96 #endif
97 #endif
Functions for global mathematical operations.
ghost_implementation
Possible implementations of a CPU function.
Definition: types.h:323
ghost_implementation impl
Definition: tsmm.h:28
Header file for type definitions.
int xcols
The first configured block size N.
Definition: tsmm.h:23
int vcols
The second configure block size K.
Definition: tsmm.h:27
ghost_densemat_storage xstor
Definition: tsmm.h:30
ghost_error(* ghost_tsmm_kernel)(ghost_densemat *, ghost_densemat *, ghost_densemat *, void *, void *)
A tsmm kernel function.
Definition: tsmm.h:38
int ghost_tsmm_perf_GBs(double *perf, double time, void *varg)
ghost_error
Error return type.
Definition: error.h:23
ghost_alignment
Possible alignments of data access.
Definition: types.h:315
ghost_error ghost_tsmm(ghost_densemat *x, ghost_densemat *v, ghost_densemat *w, void *alpha, void *beta)
Multiply a distributed dense tall skinny matrix with a redundant dense matrix.
Definition: tsmm.cpp:107
ghost_alignment alignment
Definition: tsmm.h:29
int ghost_tsmm_perf_GFs(double *perf, double time, void *varg)
ghost_datatype
Available primitive data types.
Definition: types.h:248
ghost_datatype dt
The data type of the densemats.
Definition: tsmm.h:19
ghost_densemat_storage
Densemat storage orders.
Definition: densemat.h:94
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.
Definition: tsmm.cpp:52
int multipleof
Definition: tsmm.h:32
Definition: tsmm.h:14
int unroll
Definition: tsmm.h:31
A dense vector/matrix.
Definition: densemat.h:226