Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Enumerations | Functions
gs.h File Reference

Gather/Scatter Library interface. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define gs   PREFIXED_NAME(gs )
 
#define gs_vec   PREFIXED_NAME(gs_vec )
 
#define gs_many   PREFIXED_NAME(gs_many )
 
#define gs_setup   PREFIXED_NAME(gs_setup )
 
#define gs_free   PREFIXED_NAME(gs_free )
 
#define gs_unique   PREFIXED_NAME(gs_unique)
 

Enumerations

enum  gs_method {
  gs_auto, gs_pairwise, gs_crystal_router, gs_all_reduce,
  gs_auto, gs_pairwise, gs_crystal_router, gs_all_reduce
}
 

Functions

void gs (void *u, gs_dom dom, gs_op op, unsigned transpose, struct gs_data *gsh, buffer *buf)
 
void gs_vec (void *u, unsigned vn, gs_dom dom, gs_op op, unsigned transpose, struct gs_data *gsh, buffer *buf)
 
void gs_many (void *const *u, unsigned vn, gs_dom dom, gs_op op, unsigned transpose, struct gs_data *gsh, buffer *buf)
 
struct gs_datags_setup (const slong *id, uint n, const struct comm *comm, int unique, gs_method method, int verbose)
 
void gs_free (struct gs_data *gsh)
 
void gs_unique (slong *id, uint n, const struct comm *comm)
 

Detailed Description

Gather/Scatter Library interface.

Definition in file gs.h.

Macro Definition Documentation

#define gs   PREFIXED_NAME(gs )

Definition at line 122 of file gs.h.

#define gs_free   PREFIXED_NAME(gs_free )

Definition at line 126 of file gs.h.

#define gs_many   PREFIXED_NAME(gs_many )

Definition at line 124 of file gs.h.

#define gs_setup   PREFIXED_NAME(gs_setup )

Definition at line 125 of file gs.h.

#define gs_unique   PREFIXED_NAME(gs_unique)

Definition at line 127 of file gs.h.

#define gs_vec   PREFIXED_NAME(gs_vec )

Definition at line 123 of file gs.h.

Enumeration Type Documentation

enum gs_method
Enumerator
gs_auto 
gs_pairwise 
gs_crystal_router 
gs_all_reduce 
gs_auto 
gs_pairwise 
gs_crystal_router 
gs_all_reduce 

Definition at line 130 of file gs.h.

Function Documentation

void gs ( void *  u,
gs_dom  dom,
gs_op  op,
unsigned  transpose,
struct gs_data gsh,
buffer buf 
)

Definition at line 1065 of file gs.c.

References gs_aux(), and mode_plain.

+ Here is the call graph for this function:

void gs_free ( struct gs_data gsh)

Definition at line 1149 of file gs.c.

References gs_data::comm, comm_free(), gs_remote::data, gs_remote::fin, gs_data::flagged_primaries, gs_data::map_local, gs_data::r, and uint.

+ Here is the call graph for this function:

void gs_many ( void *const *  u,
unsigned  vn,
gs_dom  dom,
gs_op  op,
unsigned  transpose,
struct gs_data gsh,
buffer buf 
)

Definition at line 1077 of file gs.c.

References gs_aux(), and mode_many.

+ Here is the call graph for this function:

struct gs_data* gs_setup ( const slong id,
uint  n,
const struct comm comm,
int  unique,
gs_method  method,
int  verbose 
)

Definition at line 1140 of file gs.c.

References gs_data::comm, comm_dup, gs_setup_aux(), and tmalloc.

+ Here is the call graph for this function:

void gs_unique ( slong id,
uint  n,
const struct comm comm 
)

Definition at line 1158 of file gs.c.

References crystal_free, crystal_init, crystal::data, get_topology(), gs_topology_free(), comm::id, and make_topology_unique().

+ Here is the call graph for this function:

void gs_vec ( void *  u,
unsigned  vn,
gs_dom  dom,
gs_op  op,
unsigned  transpose,
struct gs_data gsh,
buffer buf 
)

Definition at line 1071 of file gs.c.

References gs_aux(), and mode_vec.

+ Here is the call graph for this function: