SST/macro
|
#include <parallel_runtime.h>
Classes | |
struct | incoming_msg |
Public Member Functions | |
virtual | ~parallel_runtime () |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
virtual void | finalize_init () |
virtual int64_t | allreduce_min (int64_t mintime)=0 |
virtual int64_t | allreduce_max (int64_t maxtime)=0 |
virtual void | global_sum (long *data, int nelems, int root)=0 |
virtual void | global_sum (long long *data, int nelems, int root)=0 |
virtual void | global_max (int *data, int nelems, int root)=0 |
virtual void | global_max (long *data, int nelems, int root)=0 |
virtual void | send (int dst, void *buffer, int buffer_size)=0 |
virtual void | gather (void *send_buffer, int num_bytes, void *recv_buffer, int root)=0 |
virtual void | allgather (void *send_buffer, int num_bytes, void *recv_buffer)=0 |
virtual void | recv (int src, void *buffer, int buffer_size)=0 |
int | global_max (int my_elem) |
long | global_max (long my_elem) |
virtual void | bcast (void *buffer, int bytes, int root)=0 |
void | bcast_string (std::string &str, int root) |
std::istream * | bcast_file_stream (const std::string &fname) |
virtual void | finalize ()=0 |
virtual void | init_runtime_params (sprockit::sim_parameters *params) |
virtual void | init_partition_params (sprockit::sim_parameters *params) |
virtual void | send_recv_messages (std::vector< void * > &incoming) |
virtual void | send_event (int thread_id, timestamp t, topology_id tid, event_loc_id src, uint32_t seqnum, event *ev) |
int | me () const |
int | nproc () const |
int | nthread () const |
int | ser_buf_size () const |
partition * | topology_partition () const |
virtual void | wait_merge_array (int tag)=0 |
virtual void | declare_merge_array (void *buffer, int size, int tag)=0 |
virtual bool | release_merge_array (int tag)=0 |
void | free_recv_buffers (const std::vector< void * > &buffers) |
Public Member Functions inherited from sprockit::factory_type | |
virtual void | init_factory_params (sim_parameters *params) |
Public Member Functions inherited from sstmac::lockable | |
void | lock () |
void | unlock () |
Static Public Attributes | |
static const int | global_root |
Protected Types | |
typedef std::pair< int, void * > | send_buf_t |
Protected Member Functions | |
parallel_runtime () | |
virtual void | do_send_message (int lp, void *buffer, int size)=0 |
virtual void | do_send_recv_messages (std::vector< void * > &buffers)=0 |
Protected Attributes | |
int | nproc_ |
int | nthread_ |
int | me_ |
std::vector< message_buffer_cache > | send_buffer_pools_ |
message_buffer_cache | recv_buffer_pool_ |
std::vector< std::vector< void * > > | send_buffers_ |
int | buf_size_ |
partition * | part_ |
Definition at line 20 of file parallel_runtime.h.
|
protected |
Definition at line 172 of file parallel_runtime.h.
|
virtual |
|
protected |
Referenced by ser_buf_size().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::native::serial_runtime, and sstmac::mpi::mpi_runtime.
Referenced by global_max().
std::istream* sstmac::parallel_runtime::bcast_file_stream | ( | const std::string & | fname | ) |
Referenced by global_max().
void sstmac::parallel_runtime::bcast_string | ( | std::string & | str, |
int | root | ||
) |
Referenced by global_max().
|
pure virtual |
Implemented in sstmac::native::serial_runtime, and sstmac::mpi::mpi_runtime.
Referenced by ser_buf_size().
|
protectedpure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
Referenced by ser_buf_size().
|
protectedpure virtual |
Implemented in sstmac::native::serial_runtime, and sstmac::mpi::mpi_runtime.
Referenced by ser_buf_size().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
Referenced by global_max().
|
virtual |
Reimplemented from sprockit::factory_type.
Reimplemented in sstmac::mpi::mpi_runtime.
void sstmac::parallel_runtime::free_recv_buffers | ( | const std::vector< void * > & | buffers | ) |
Referenced by ser_buf_size().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
Referenced by global_max().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
inline |
Definition at line 71 of file parallel_runtime.h.
References global_max().
|
inline |
Definition at line 78 of file parallel_runtime.h.
References bcast(), bcast_file_stream(), bcast_string(), sstmac::parallel_runtime::incoming_msg::buffer, finalize(), global_max(), init_partition_params(), init_runtime_params(), send_event(), and send_recv_messages().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
virtual |
Reimplemented in sstmac::mpi::mpi_runtime.
|
virtual |
Referenced by global_max().
|
virtual |
Reimplemented in sstmac::mpi::mpi_runtime.
Referenced by global_max().
|
inline |
Definition at line 123 of file parallel_runtime.h.
References me_.
|
inline |
Definition at line 128 of file parallel_runtime.h.
References nproc_.
|
inline |
Definition at line 133 of file parallel_runtime.h.
References nthread_.
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
pure virtual |
Implemented in sstmac::native::serial_runtime, and sstmac::mpi::mpi_runtime.
Referenced by ser_buf_size().
|
pure virtual |
Implemented in sstmac::mpi::mpi_runtime, and sstmac::native::serial_runtime.
|
virtual |
The | topology id to send a remote message to |
buffer | The buffer containing a serialized message |
size | The size of the buffer being sent |
Referenced by global_max().
|
virtual |
pool | A buffer cache corresponding to a pool of free buffers |
incoming | A buffer cache holding buffers that correspond to incoming messages |
Referenced by global_max().
|
inline |
Definition at line 138 of file parallel_runtime.h.
References buf_size_, declare_merge_array(), do_send_message(), do_send_recv_messages(), free_recv_buffers(), parallel_runtime(), release_merge_array(), topology_partition(), and wait_merge_array().
partition* sstmac::parallel_runtime::topology_partition | ( | ) | const |
Referenced by ser_buf_size().
|
pure virtual |
Implemented in sstmac::native::serial_runtime, and sstmac::mpi::mpi_runtime.
Referenced by ser_buf_size().
|
protected |
Definition at line 174 of file parallel_runtime.h.
Referenced by ser_buf_size().
|
static |
Definition at line 32 of file parallel_runtime.h.
|
protected |
Definition at line 169 of file parallel_runtime.h.
Referenced by me().
|
protected |
Definition at line 167 of file parallel_runtime.h.
Referenced by nproc().
|
protected |
Definition at line 168 of file parallel_runtime.h.
Referenced by nthread().
|
protected |
Definition at line 175 of file parallel_runtime.h.
|
protected |
Definition at line 171 of file parallel_runtime.h.
|
protected |
Definition at line 170 of file parallel_runtime.h.
|
protected |
Definition at line 173 of file parallel_runtime.h.