Nek5000
SEM for Incompressible NS
|
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <float.h>
#include "name.h"
#include "fail.h"
#include "types.h"
#include "tensor.h"
#include "gs_defs.h"
#include "gs_local.h"
#include "comm.h"
Go to the source code of this file.
Macros | |
#define | SWITCH_OP_CASE(T, OP) case gs_##OP: WITH_OP(T,OP); break; |
#define | SWITCH_OP(T, op) |
#define | WITH_OP(T, OP) do { T v = *in++; GS_DO_##OP(accum,v); } while(--n) |
#define | DEFINE_REDUCE(T) |
Functions | |
static void | scan_imp (void *scan, const struct comm *com, gs_dom dom, gs_op op, const void *v, uint vn, void *buffer) |
static void | allreduce_imp (const struct comm *com, gs_dom dom, gs_op op, void *v, uint vn, void *buf) |
void | comm_scan (void *scan, const struct comm *com, gs_dom dom, gs_op op, const void *v, uint vn, void *buffer) |
void | comm_allreduce (const struct comm *com, gs_dom dom, gs_op op, void *v, uint vn, void *buf) |
double | comm_dot (const struct comm *comm, double *v, double *w, uint n) |
Variables | |
uint | comm_gbl_id =0 |
uint | comm_gbl_np =1 |
#define DEFINE_REDUCE | ( | T | ) |
#define SWITCH_OP | ( | T, | |
op | |||
) |
|
static |
Definition at line 67 of file comm.c.
References comm_recv(), comm_send(), dom, gs_gather_array, comm::id, n, np, comm::np, and uint.
Referenced by comm_allreduce().
void comm_allreduce | ( | const struct comm * | com, |
gs_dom | dom, | ||
gs_op | op, | ||
void * | v, | ||
uint | vn, | ||
void * | buf | ||
) |
Definition at line 107 of file comm.c.
References allreduce_imp(), and comm::c.
Referenced by allreduce_exec(), comm_dot(), crs_stats(), dry_run_time(), gs_setup_aux(), and hash_bb().
Definition at line 143 of file comm.c.
References comm_allreduce(), and tensor_dot.
void comm_scan | ( | void * | scan, |
const struct comm * | com, | ||
gs_dom | dom, | ||
gs_op | op, | ||
const void * | v, | ||
uint | vn, | ||
void * | buffer | ||
) |
Definition at line 101 of file comm.c.
References scan_imp().
Referenced by main(), and shared_ids().
|
static |
Definition at line 19 of file comm.c.
References comm_irecv(), comm_isend(), comm_recv(), comm_send(), comm_wait(), dom, gs_gather_array, gs_init_array, n, np, and uint.
Referenced by comm_scan().