SST/macro
Namespaces | Macros | Functions
sumi.h File Reference
#include <sumi/options.h>
#include <sumi/message.h>
#include <sumi/comm_functions.h>
#include <sumi/collective_message.h>
#include <sumi/timeout.h>
#include <sumi/communicator.h>
#include <sumi/thread_safe_set.h>
Include dependency graph for sumi.h:

Go to the source code of this file.

Namespaces

 sumi
 

Macros

#define main   USER_MAIN
 

Functions

void sumi::comm_init ()
 
void sumi::comm_finalize ()
 
int sumi::comm_rank ()
 
int sumi::comm_nproc ()
 
void sumi::comm_send_header (int dst, const message::ptr &msg)
 
void sumi::comm_cancel_ping (int dst, int tag)
 
void sumi::comm_ping (int dst, int tag, timeout_function *func)
 
void sumi::comm_send_payload (int dst, const message::ptr &msg)
 
void sumi::comm_send (int dst, message::payload_type_t ev, const message::ptr &msg)
 
void sumi::comm_rdma_put (int dst, const message::ptr &msg)
 
void sumi::comm_rdma_get (int dst, const message::ptr &msg)
 
void sumi::comm_nvram_get (int dst, const message::ptr &msg)
 
void sumi::comm_alltoall (void *dst, void *src, int nelems, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_allgather (void *dst, void *src, int nelems, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_allgatherv (void *dst, void *src, int *recv_counts, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_gather (int root, void *dst, void *src, int nelems, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_scatter (int root, void *dst, void *src, int nelems, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_bcast (int root, void *buffer, int nelems, int type_size, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_allreduce (void *dst, void *src, int nelems, int type_size, int tag, reduce_fxn fxn, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 The total size of the input/result buffer in bytes is nelems*type_size. More...
 
template<typename data_t , template< typename > class Op>
void sumi::comm_allreduce (void *dst, void *src, int nelems, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_reduce (int root, void *dst, void *src, int nelems, int type_size, int tag, reduce_fxn fxn, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
template<typename data_t , template< typename > class Op>
void sumi::comm_reduce (int root, void *dst, void *src, int nelems, int tag, bool fault_aware=false, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_barrier (int tag, bool fault_aware=false, communicator *dom=0)
 
void sumi::comm_vote (int vote, int tag, vote_fxn fxn, int context=options::initial_context, communicator *dom=0)
 The total size of the input/result buffer in bytes is nelems*type_size This always run in a fault-tolerant fashion This uses a dynamic tree structure that reconnects partners when failures are detected. More...
 
template<template< class > class VoteOp>
void sumi::comm_vote (int vote, int tag, int context=options::initial_context, communicator *dom=0)
 
void sumi::comm_kill_node ()
 Helper function. More...
 
void sumi::comm_kill_process ()
 Helper function. More...
 
const thread_safe_set< int > & sumi::comm_failed_ranks ()
 
const thread_safe_set< int > & sumi::comm_failed_ranks (int context)
 
void sumi::comm_start_heartbeat (double interval)
 
void sumi::comm_stop_heartbeat ()
 
collective_done_message::ptr sumi::comm_collective_block (collective::type_t ty, int tag)
 
message::ptr sumi::comm_poll ()
 
void sumi::compute (double sec)
 
void sumi::sleep (double sec)
 
void sumi::sleep_until (double sec)
 
int sumi::comm_partner (long node_id)
 Map a physical node location to its virtual assignment in the communicator. More...
 
double sumi::wall_time ()
 Every node has exactly the same notion of time - universal, global clock. More...
 
transportsumi::sumi_api ()
 

Macro Definition Documentation

#define main   USER_MAIN