SST/macro
|
#include <multithreaded_event_container.h>
Classes | |
struct | send_recv_thread_functor |
struct | vote_thread_functor |
Public Member Functions | |
multithreaded_event_container (parallel_runtime *rt) | |
~multithreaded_event_container () throw () | |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
virtual void | finalize_init () |
virtual void | run () |
Run the eventmanager. More... | |
virtual void | schedule_stop (timestamp until) |
void | multithread_schedule (int srcthread, int dstthread, uint32_t seqnum, event_queue_entry *ev) |
std::list< event_queue_entry * > & | pending_events (int srcthread, int dstthread) |
virtual void | set_interconnect (hw::interconnect *interconn) |
virtual void | receive_incoming_events () |
void | schedule_incoming (int thread_id, clock_cycle_event_map *mgr) |
void | send_recv_barrier (int thread_id) |
timestamp | time_vote_barrier (int thread_id, timestamp min_time) |
virtual timestamp | vote_next_round (timestamp my_time) |
event_manager * | ev_man_for_thread (int thread_id) const |
virtual void | finish_stats (stat_collector *main, const std::string &name, timestamp end) |
Public Member Functions inherited from sstmac::native::clock_cycle_event_map | |
clock_cycle_event_map (parallel_runtime *rt) | |
virtual | ~clock_cycle_event_map () throw () |
bool | vote_to_terminate () |
virtual void | ipc_schedule (timestamp t, event_loc_id dst, event_loc_id src, uint32_t seqnum, event *ev) |
Public Member Functions inherited from sstmac::native::event_map | |
event_map (parallel_runtime *rt) | |
~event_map () throw () | |
void | clear (timestamp zero_time=timestamp(0)) |
Clear all events and set time back to a zero of your choice. More... | |
void | cancel_all_messages (event_loc_id mod) |
bool | empty () const |
Public Member Functions inherited from sstmac::native::event_container | |
virtual | ~event_container () throw () |
Goodbye. More... | |
Public Member Functions inherited from sstmac::event_manager | |
virtual std::string | to_string () const |
bool | is_complete () |
virtual | ~event_manager () |
Goodbye. More... | |
timestamp | now () const |
void | register_stat (stat_collector *stat, bool reduce_all=true, bool dump_all=false, bool dump_main=true) |
stat_collector * | register_thread_unique_stat (stat_collector *stat, bool reduce_all=true, bool dump_all=false, bool dump_main=true) |
partition * | topology_partition () const |
parallel_runtime * | runtime () const |
void | finish_stats () |
void | stop () |
int | me () const |
int | worker_id () const |
int | nproc () const |
int | nworker () const |
virtual int | lpid () const |
int | thread_id () const |
int | nthread () const |
Public Member Functions inherited from sprockit::factory_type | |
virtual void | init_factory_params (sim_parameters *params) |
Additional Inherited Members | |
Public Types inherited from sstmac::native::clock_cycle_event_map | |
enum | vote_type_t { vote_max, vote_min } |
Static Public Member Functions inherited from sstmac::event_manager | |
static int | current_thread_id () |
Static Public Attributes inherited from sstmac::event_manager | |
static event_manager * | global |
Protected Types inherited from sstmac::native::event_map | |
typedef std::set< event_queue_entry *, event_compare > | queue_t |
Protected Member Functions inherited from sstmac::native::clock_cycle_event_map | |
virtual void | schedule_incoming (const std::vector< void * > &mpi_buffers) |
void | do_next_event () |
timestamp | next_event_time () const |
virtual timestamp | vote_next_round (timestamp my_time, vote_type_t ty) |
int64_t | do_vote (int64_t time, vote_type_t ty=vote_min) |
Protected Member Functions inherited from sstmac::native::event_map | |
event_queue_entry * | pop_next_event () |
void | add_event (event_queue_entry *ev) |
Called by schedule. Child class must implement. More... | |
Protected Member Functions inherited from sstmac::native::event_container | |
event_container (parallel_runtime *rt) | |
void | schedule (timestamp start_time, uint32_t seqnum, event_queue_entry *ev) |
Set off the given eventhandler at the given time. More... | |
void | finish () |
Called at end of run(). More... | |
Protected Member Functions inherited from sstmac::event_manager | |
event_manager (parallel_runtime *rt) | |
void | set_now (const timestamp &ts) |
Static Protected Attributes inherited from sstmac::event_manager | |
static std::vector< pthread_t > | pthreads_ |
static std::vector< pthread_attr_t > | pthread_attrs_ |
Definition at line 39 of file multithreaded_event_container.h.
|
inline |
Definition at line 43 of file multithreaded_event_container.h.
|
inline |
Definition at line 46 of file multithreaded_event_container.h.
References sstmac::run().
|
virtual |
Reimplemented from sstmac::event_manager.
|
virtual |
Reimplemented from sstmac::native::clock_cycle_event_map.
|
virtual |
Reimplemented from sstmac::event_manager.
|
virtual |
Reimplemented from sstmac::native::clock_cycle_event_map.
|
virtual |
Reimplemented from sstmac::event_manager.
|
inline |
Definition at line 68 of file multithreaded_event_container.h.
References main.
|
virtual |
Reimplemented from sstmac::native::clock_cycle_event_map.
|
virtual |
Run the eventmanager.
The eventmanager shall return control when no more messages remain.
Reimplemented from sstmac::native::clock_cycle_event_map.
void sstmac::native::multithreaded_event_container::schedule_incoming | ( | int | thread_id, |
clock_cycle_event_map * | mgr | ||
) |
|
virtual |
Reimplemented from sstmac::event_manager.
void sstmac::native::multithreaded_event_container::send_recv_barrier | ( | int | thread_id | ) |
|
virtual |
Reimplemented from sstmac::native::clock_cycle_event_map.
timestamp sstmac::native::multithreaded_event_container::time_vote_barrier | ( | int | thread_id, |
timestamp | min_time | ||
) |
|
virtual |
|
protected |
Definition at line 123 of file multithreaded_event_container.h.
|
protected |
Definition at line 124 of file multithreaded_event_container.h.
|
protected |
Definition at line 125 of file multithreaded_event_container.h.
|
protected |
Definition at line 121 of file multithreaded_event_container.h.
|
protected |
Definition at line 118 of file multithreaded_event_container.h.
|
protected |
Definition at line 114 of file multithreaded_event_container.h.
|
protected |
Definition at line 116 of file multithreaded_event_container.h.
|
protected |
Definition at line 119 of file multithreaded_event_container.h.
|
protected |
Definition at line 104 of file multithreaded_event_container.h.