GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
densemat_cm.h
Go to the documentation of this file.
1 
6 #ifndef GHOST_DENSEMAT_CM_H
7 #define GHOST_DENSEMAT_CM_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_cm.h"
15 #endif
16 
17 #ifdef __cplusplus
18 
19 extern "C" {
20 #endif
21 
42  ghost_error ghost_densemat_cm_axpbypcz(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *, ghost_densemat *vec3, void *);
61  ghost_error ghost_densemat_cm_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_cm_normalize_selector(ghost_densemat *vec)
Header file for type definitions.
ghost_error ghost_densemat_cm_norm_selector(ghost_densemat *vec, void *res, void *p)
Types and functions related to GHOST contexts.
ghost_error ghost_densemat_cm_toFile(ghost_densemat *vec, char *path, ghost_mpi_comm mpicomm)
ghost_error ghost_densemat_cm_halocommInit(ghost_densemat *vec, ghost_context *ctx, ghost_densemat_halo_comm *comm)
Definition: densemat_cm.c:218
int32_t ghost_gidx
Type for global indices.
Definition: types.h:443
ghost_error ghost_densemat_cm_string_selector(ghost_densemat *vec, char **str)
ghost_permutation_direction
Possible permutation directions.
Definition: context.h:19
ghost_error ghost_densemat_cm_vaxpy_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_cm_vaxpbypcz_selector(ghost_densemat *vec, ghost_densemat *vec2, void *scale, void *b, ghost_densemat *vec3, void *c)
ghost_error ghost_densemat_cm_conj_selector(ghost_densemat *vec)
ghost_error ghost_densemat_cm_download(ghost_densemat *vec)
ghost_error ghost_densemat_cm_fromVec_selector(ghost_densemat *vec1, ghost_densemat *vec2, ghost_lidx, ghost_lidx)
ghost_error ghost_densemat_cm_upload(ghost_densemat *vec)
ghost_error ghost_densemat_cm_fromReal_selector(ghost_densemat *vec, ghost_densemat *re, ghost_densemat *im)
int32_t ghost_lidx
Definition: types.h:503
__device__ T scale(T y, T a)
Definition: cu_complex.h:275
ghost_error ghost_densemat_cm_view(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nr, ghost_lidx roffs, ghost_lidx nc, ghost_lidx coffs)
ghost_error ghost_densemat_cm_fromRand_selector(ghost_densemat *vec)
ghost_error ghost_densemat_cm_fromScalar_selector(ghost_densemat *vec, void *)
ghost_error ghost_densemat_cm_malloc(ghost_densemat *vec, int *needInit)
int ghost_mpi_comm
Definition: types.h:19
ghost_error ghost_densemat_cm_axpy(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_cm_viewCols(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nc, ghost_lidx coffs)
ghost_error
Error return type.
Definition: error.h:23
ghost_error ghost_densemat_cm_axpbypcz(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *, ghost_densemat *vec3, void *)
ghost_error ghost_densemat_cm_dotprod_selector(ghost_densemat *vec, void *, ghost_densemat *)
ghost_error ghost_densemat_cm_viewScatteredVec(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nr, ghost_lidx *roffs, ghost_lidx nc, ghost_lidx *coffs)
ghost_error ghost_densemat_cm_halocommFinalize(ghost_densemat *vec, ghost_context *ctx, ghost_densemat_halo_comm *comm)
Definition: densemat_cm.c:351
ghost_error ghost_densemat_cm_mult_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *)
ghost_error ghost_densemat_cm_viewScatteredCols(ghost_densemat *src, ghost_densemat **dst, ghost_lidx nc, ghost_lidx *coffs)
ghost_error ghost_densemat_cm_fromFunc(ghost_densemat *vec, int(*fp)(ghost_gidx, ghost_lidx, void *, void *), void *arg)
Densemat halo exchange communication data structure.
Definition: densemat.h:111
ghost_error ghost_densemat_cm_averagehalo_selector(ghost_densemat *vec, ghost_context *ctx)
Definition: densemat_cm_averagehalo.cpp:199
ghost_error ghost_densemat_cm_vaxpby_selector(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *)
ghost_error ghost_densemat_cm_viewPlain(ghost_densemat *vec, void *data, ghost_lidx lda)
Functions for col-major dense matrices/vectors with CUDA.
ghost_error ghost_densemat_cm_fromFile(ghost_densemat *vec, char *path, ghost_mpi_comm mpicomm)
ghost_error ghost_densemat_cm_distributeVector(ghost_densemat *vec, ghost_densemat *nodeVec, ghost_context *ctx)
Definition: densemat_cm.c:32
ghost_error ghost_densemat_cm_collectVectors(ghost_densemat *vec, ghost_densemat *totalVec, ghost_context *ctx)
Definition: densemat_cm.c:93
The GHOST context.
Definition: context.h:108
ghost_error ghost_densemat_cm_scale(ghost_densemat *vec, void *)
ghost_error ghost_densemat_cm_syncValues(ghost_densemat *vec, ghost_mpi_comm comm, int root)
ghost_error ghost_densemat_cm_permute_selector(ghost_densemat *vec, ghost_permutation_direction dir)
ghost_error ghost_densemat_cm_axpby(ghost_densemat *vec1, ghost_densemat *vec2, void *, void *)
ghost_error ghost_densemat_cm_vscale_selector(ghost_densemat *vec1, void *)
ghost_error ghost_densemat_cm_fromComplex_selector(ghost_densemat *re, ghost_densemat *im, ghost_densemat *c)
ghost_error ghost_densemat_cm_entry(ghost_densemat *vec, void *val, ghost_lidx r, ghost_lidx c)
ghost_error ghost_densemat_cm_compress(ghost_densemat *vec)
Definition: densemat_cm.c:147
ghost_error ghost_densemat_cm_reduce(ghost_densemat *vec_in, int root)
A dense vector/matrix.
Definition: densemat.h:226