Nektar++
Classes | Namespaces | Typedefs | Enumerations | Functions
GsLib.hpp File Reference
#include <iostream>
#include <LibUtilities/BasicConst/NektarUnivTypeDefs.hpp>
#include <LibUtilities/BasicUtils/SharedArray.hpp>
Include dependency graph for GsLib.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gs::array
 
struct  Gs::comm
 
struct  Gs::pw_comm_data
 
struct  Gs::pw_data
 
struct  Gs::cr_stage
 
struct  Gs::cr_data
 
struct  Gs::allreduce_data
 
struct  Gs::gs_remote
 
struct  Gs::gs_data
 

Namespaces

 Gs
 

Typedefs

typedef array Gs::buffer
 
typedef int Gs::comm_ext
 
typedef int Gs::comm_req
 
typedef void Gs::exec_fun(void *data, gs_mode mode, unsigned vn, gs_dom dom, gs_op op, unsigned transpose, const void *execdata, const struct comm *comm, char *buf)
 
typedef void Gs::fin_fun(void *data)
 

Enumerations

enum  Gs::gs_dom {
  Gs::gs_double, Gs::gs_float, Gs::gs_int, Gs::gs_long,
  Gs::gs_dom_n
}
 
enum  Gs::gs_op {
  Gs::gs_add, Gs::gs_mul, Gs::gs_min, Gs::gs_max,
  Gs::gs_bpr, Gs::gs_op_n
}
 
enum  Gs::gs_mode { Gs::mode_plain, Gs::mode_vec, Gs::mode_many, Gs::mode_dry_run }
 
enum  Gs::gs_method { Gs::gs_auto, Gs::gs_pairwise, Gs::gs_crystal_router, Gs::gs_all_reduce }
 

Functions

void Gs::nektar_gs (void *u, gs_dom dom, gs_op op, unsigned transpose, gs_data *gsh, buffer *buf)
 
gs_data * Gs::nektar_gs_setup (const long *id, unsigned int n, const struct comm *comm, int unique, gs_method method, int verbose)
 
void Gs::nektar_gs_free (gs_data *gsh)
 
void Gs::nektar_gs_unique (const long *id, unsigned int n, const struct comm *comm)
 
static gs_data * Gs::Init (const Nektar::Array< OneD, long > pId, const LibUtilities::CommSharedPtr &pComm)
 Initialise Gather-Scatter map. More...
 
static void Gs::Unique (const Nektar::Array< OneD, long > pId, const LibUtilities::CommSharedPtr &pComm)
 Updates pId to negate all-but-one references to each universal ID. More...
 
static void Gs::Finalise (gs_data *pGsh)
 Deallocates the GSLib mapping data. More...
 
static void Gs::Gather (Nektar::Array< OneD, NekDouble > pU, gs_op pOp, gs_data *pGsh, Nektar::Array< OneD, NekDouble > pBuffer=NullNekDouble1DArray)
 Performs a gather-scatter operation of the provided values. More...