1 #ifndef PARALLEL_RUNTIME_H 2 #define PARALLEL_RUNTIME_H 47 global_sum(
long* data,
int nelems,
int root) = 0;
50 global_sum(
long long* data,
int nelems,
int root) = 0;
53 global_max(
int* data,
int nelems,
int root) = 0;
56 global_max(
long* data,
int nelems,
int root) = 0;
59 send(
int dst,
void*
buffer,
int buffer_size) = 0;
62 gather(
void* send_buffer,
int num_bytes,
void* recv_buffer,
int root) = 0;
65 allgather(
void* send_buffer,
int num_bytes,
void* recv_buffer) = 0;
68 recv(
int src,
void*
buffer,
int buffer_size) = 0;
183 #endif // PARALLEL_RUNTIME_H
virtual void wait_merge_array(int tag)=0
void free_recv_buffers(const std::vector< void * > &buffers)
int global_max(int my_elem)
virtual int64_t allreduce_max(int64_t maxtime)=0
DeclareDebugSlot(parallel)
virtual bool release_merge_array(int tag)=0
virtual ~parallel_runtime()
std::pair< int, void * > send_buf_t
virtual void finalize()=0
virtual void do_send_recv_messages(std::vector< void * > &buffers)=0
message_buffer_cache recv_buffer_pool_
virtual void finalize_init()
virtual void allgather(void *send_buffer, int num_bytes, void *recv_buffer)=0
virtual void recv(int src, void *buffer, int buffer_size)=0
std::vector< message_buffer_cache > send_buffer_pools_
virtual void send_recv_messages(std::vector< void * > &incoming)
A basic container for time (subject to future transplant).
virtual void init_partition_params(sprockit::sim_parameters *params)
virtual int64_t allreduce_min(int64_t mintime)=0
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
std::istream * bcast_file_stream(const std::string &fname)
void bcast_string(std::string &str, int root)
virtual void gather(void *send_buffer, int num_bytes, void *recv_buffer, int root)=0
virtual void init_factory_params(sprockit::sim_parameters *params)
long global_max(long my_elem)
static const int global_root
virtual void global_max(int *data, int nelems, int root)=0
virtual void send(int dst, void *buffer, int buffer_size)=0
virtual void declare_merge_array(void *buffer, int size, int tag)=0
virtual void global_sum(long *data, int nelems, int root)=0
virtual void init_runtime_params(sprockit::sim_parameters *params)
partition * topology_partition() const
Class for storing all the partitions given to us by METIS.
virtual void bcast(void *buffer, int bytes, int root)=0
virtual void do_send_message(int lp, void *buffer, int size)=0
virtual void send_event(int thread_id, timestamp t, topology_id tid, event_loc_id src, uint32_t seqnum, event *ev)
DeclareFactory(parallel_runtime)
std::vector< std::vector< void * > > send_buffers_