Types, constants and macros for SpMV.
More...
#include "sparsemat.h"
#include "densemat.h"
Go to the source code of this file.
|
enum | ghost_spmv_flags {
GHOST_SPMV_DEFAULT = 0,
GHOST_SPMV_AXPY = 1 << 0,
GHOST_SPMV_MODE_NOCOMM = 1 << 1,
GHOST_SPMV_BARRIER = 1 << 2,
GHOST_SPMV_MODE_OVERLAP = 1 << 3,
GHOST_SPMV_MODE_TASK = 1 << 4,
GHOST_SPMV_SHIFT = 1 << 5,
GHOST_SPMV_SCALE = 1 << 6,
GHOST_SPMV_AXPBY = 1 << 7,
GHOST_SPMV_DOT_YY = 1 << 8,
GHOST_SPMV_DOT_XY = 1 << 9,
GHOST_SPMV_DOT_XX = 1 << 10,
GHOST_SPMV_NOT_REDUCE = 1 << 11,
GHOST_SPMV_LOCAL = 1 << 12,
GHOST_SPMV_REMOTE = 1 << 13,
GHOST_SPMV_VSHIFT = 1 << 14,
GHOST_SPMV_CHAIN_AXPBY = 1 << 15,
GHOST_SPMV_MODE_PIPELINED = 1 << 16
} |
| Flags to be passed to sparse matrix-vector multiplication. More...
|
|
Types, constants and macros for SpMV.
- Author
- Moritz Kreutzer morit.nosp@m.z.kr.nosp@m.eutze.nosp@m.r@fa.nosp@m.u.de
#define GHOST_SPMV_AUG_FLAGS |
Value:
#define GHOST_SPMV_DOT
Definition: spmv.h:37
All flags which case an SpMV augmentation.
SpMV solver which do combined computation.
SpMV solvers which do split computation.
#define GHOST_SPMV_PARSE_TRAITS |
( |
|
traits, |
|
|
|
_alpha, |
|
|
|
_beta, |
|
|
|
_gamma, |
|
|
|
_dot, |
|
|
|
_z, |
|
|
|
_delta, |
|
|
|
_eta, |
|
|
|
dt_in, |
|
|
|
dt_out |
|
) |
| |
Parse the SPMV arguments.
This macro parses the varargs given to an SpMV call and initializes given variables for the SpMV parameters alpha, beta, gamma, and dot. Also, it checks whether the current SpMV works on the local or remote matrix in case of split computation. Depending on that, the flags are manipulated, e.g., to not compute dot products for the local matrix.
- Parameters
-
flags | The defined flags. |
argp | The argument pointer. |
alpha | Where to store alpha. |
beta | Where to store beta. |
gamma | Where to store gamma. |
dot | Where to store the dot array. |
z | Where to store the z densemat. |
delta | Where to store deltea. |
eta | Where to store eta. |
dt_in | The data type in which the args are present. |
dt_out | The data of which alpha, beta, gamma, and dot. |
- Returns
Flags to be passed to sparse matrix-vector multiplication.
Enumerator |
---|
GHOST_SPMV_DEFAULT |
|
GHOST_SPMV_AXPY |
|
GHOST_SPMV_MODE_NOCOMM |
|
GHOST_SPMV_BARRIER |
|
GHOST_SPMV_MODE_OVERLAP |
|
GHOST_SPMV_MODE_TASK |
|
GHOST_SPMV_SHIFT |
|
GHOST_SPMV_SCALE |
|
GHOST_SPMV_AXPBY |
|
GHOST_SPMV_DOT_YY |
|
GHOST_SPMV_DOT_XY |
|
GHOST_SPMV_DOT_XX |
|
GHOST_SPMV_NOT_REDUCE |
|
GHOST_SPMV_LOCAL |
|
GHOST_SPMV_REMOTE |
|
GHOST_SPMV_VSHIFT |
|
GHOST_SPMV_CHAIN_AXPBY |
|
GHOST_SPMV_MODE_PIPELINED |
|