GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
densemat_rm.h
Go to the documentation of this file.
1 
6 #ifndef GHOST_DENSEMAT_RM_H
7 #define GHOST_DENSEMAT_RM_H
8 
9 #include "config.h"
10 #include "types.h"
11 #include "context.h"
12 #include "densemat.h"
13 #ifdef GHOST_HAVE_CUDA
14 #include "cu_densemat_rm.h"
15 #endif
16 
17 #ifdef __cplusplus
18 
19 extern "C" {
20 #endif
21 
42  ghost_error ghost_densemat_rm_axpbypcz(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *, ghost_densemat *vec3, void *);
61  ghost_error ghost_densemat_rm_fromFunc(ghost_densemat *vec, int (*fp)(ghost_gidx, ghost_lidx, void *, void *), void *arg);
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif
ghost_error ghost_densemat_rm_syncValues(ghost_densemat *vec, ghost_mpi_comm comm, int root)
Header file for type definitions.
Types and functions related to GHOST contexts.
ghost_error ghost_densemat_rm_vaxpbypcz_selector(ghost_densemat *vec, ghost_densemat *vec2, void *scale, void *b, ghost_densemat *vec3, void *c)
int32_t ghost_gidx
Type for global indices.
Definition: types.h:443
ghost_error ghost_densemat_rm_malloc(ghost_densemat *vec, int *needInit)
ghost_permutation_direction
Possible permutation directions.
Definition: context.h:19
ghost_error ghost_densemat_rm_fromComplex_selector(ghost_densemat *re, ghost_densemat *im, ghost_densemat *c)
ghost_error ghost_densemat_rm_viewScatteredCols(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nc, ghost_lidx *coffs)
ghost_error ghost_densemat_rm_axpbypcz(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *, ghost_densemat *vec3, void *)
ghost_error ghost_densemat_rm_compress(ghost_densemat *vec)
Definition: densemat_rm.c:148
ghost_error ghost_densemat_rm_norm_selector(ghost_densemat *vec, void *res, void *p)
ghost_error ghost_densemat_rm_scale(ghost_densemat *vec, void *)
int32_t ghost_lidx
Definition: types.h:503
__device__ T scale(T y, T a)
Definition: cu_complex.h:275
ghost_error ghost_densemat_rm_entry(ghost_densemat *vec, void *val, ghost_lidx r, ghost_lidx c)
int ghost_mpi_comm
Definition: types.h:19
ghost_error ghost_densemat_rm_fromScalar_selector(ghost_densemat *vec, void *)
ghost_error
Error return type.
Definition: error.h:23
ghost_error ghost_densemat_rm_fromFunc(ghost_densemat *vec, int(*fp)(ghost_gidx, ghost_lidx, void *, void *), void *arg)
ghost_error ghost_densemat_rm_view(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nr, ghost_lidx roffs, ghost_lidx nc, ghost_lidx coffs)
ghost_error ghost_densemat_rm_conj_selector(ghost_densemat *vec)
ghost_error ghost_densemat_rm_normalize_selector(ghost_densemat *vec)
ghost_error ghost_densemat_rm_permute_selector(ghost_densemat *vec, ghost_permutation_direction dir)
ghost_error ghost_densemat_rm_vscale_selector(ghost_densemat *vec1, void *)
ghost_error ghost_densemat_rm_fromRand_selector(ghost_densemat *vec)
ghost_error ghost_densemat_rm_axpby(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *)
ghost_error ghost_densemat_rm_string_selector(ghost_densemat *vec, char **str)
ghost_error ghost_densemat_rm_reduce(ghost_densemat *vec_in, int root)
ghost_error ghost_densemat_rm_fromReal_selector(ghost_densemat *vec, ghost_densemat *re, ghost_densemat *im)
ghost_error ghost_densemat_rm_mult_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_rm_fromVec_selector(ghost_densemat *vec1, ghost_densemat *vec2, ghost_lidx, ghost_lidx)
ghost_error ghost_densemat_rm_distributeVector(ghost_densemat *vec, ghost_densemat *nodeVec, ghost_context *ctx)
Definition: densemat_rm.c:32
ghost_error ghost_densemat_rm_vaxpby_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *)
Densemat halo exchange communication data structure.
Definition: densemat.h:111
ghost_error ghost_densemat_rm_dotprod_selector(ghost_densemat *vec, void *, ghost_densemat *)
ghost_error ghost_densemat_rm_viewScatteredVec(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nr, ghost_lidx *roffs, ghost_lidx nc, ghost_lidx *coffs)
ghost_error ghost_densemat_rm_fromFile(ghost_densemat *vec, char *path, ghost_mpi_comm mpicomm)
Functions for row-major dense matrices/vectors with CUDA.
ghost_error ghost_densemat_rm_halocommInit(ghost_densemat *vec, ghost_context *ctx, ghost_densemat_halo_comm *comm)
Definition: densemat_rm.c:206
ghost_error ghost_densemat_rm_viewCols(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nc, ghost_lidx coffs)
The GHOST context.
Definition: context.h:108
ghost_error ghost_densemat_rm_collectVectors(ghost_densemat *vec, ghost_densemat *totalVec, ghost_context *ctx)
Definition: densemat_rm.c:93
ghost_error ghost_densemat_rm_axpy(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_rm_vaxpy_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_rm_halocommFinalize(ghost_densemat *vec, ghost_context *ctx, ghost_densemat_halo_comm *comm)
Definition: densemat_rm.c:330
ghost_error ghost_densemat_rm_averagehalo_selector(ghost_densemat *vec, ghost_context *ctx)
Definition: densemat_rm_averagehalo.cpp:164
ghost_error ghost_densemat_rm_viewPlain(ghost_densemat *vec, void *data, ghost_lidx lda)
ghost_error ghost_densemat_rm_download(ghost_densemat *vec)
A dense vector/matrix.
Definition: densemat.h:226
ghost_error ghost_densemat_rm_upload(ghost_densemat *vec)
ghost_error ghost_densemat_rm_toFile(ghost_densemat *vec, char *path, ghost_mpi_comm mpicomm)