GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tsmm_inplace.h
Go to the documentation of this file.
1 
6 #ifndef GHOST_TSMM_INPLACE_H
7 #define GHOST_TSMM_INPLACE_H
8 
9 #include "config.h"
10 #include "types.h"
11 #include "densemat.h"
12 
13 typedef struct
14 {
22  int ncolsin;
26  int ncolsout;
27 
31 
36 
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
65  ghost_error ghost_tsmm_inplace(ghost_densemat *x, ghost_densemat *w, void *alpha, void *beta);
66 
83  ghost_densemat *w, const char *transw, void *alpha, void *beta, int reduce, int printerror);
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 #endif
ghost_implementation
Possible implementations of a CPU function.
Definition: types.h:323
Header file for type definitions.
int ncolsin
The number of columns for the input densemat.
Definition: tsmm_inplace.h:22
ghost_error ghost_tsmm_inplace_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-inplace can be applied instead of GEMM with the given arguments.
Definition: tsmm_inplace.cpp:45
ghost_error
Error return type.
Definition: error.h:23
ghost_alignment
Possible alignments of data access.
Definition: types.h:315
ghost_implementation impl
Definition: tsmm_inplace.h:28
ghost_datatype dt
The data type of the densemats.
Definition: tsmm_inplace.h:18
ghost_datatype
Available primitive data types.
Definition: types.h:248
int ncolsout
The number of columns for the output densemat.
Definition: tsmm_inplace.h:26
ghost_error ghost_tsmm_inplace(ghost_densemat *x, ghost_densemat *w, void *alpha, void *beta)
Multiply a distributed dense tall skinny matrix with a redundant dense matrix in-place.
Definition: tsmm_inplace.cpp:116
ghost_error(* ghost_tsmm_inplace_kernel)(ghost_densemat *, ghost_densemat *, void *, void *)
A tsmm-inplace kernel function.
Definition: tsmm_inplace.h:35
ghost_alignment alignment
Definition: tsmm_inplace.h:29
Definition: tsmm_inplace.h:13
A dense vector/matrix.
Definition: densemat.h:226