SST/macro
|
A refactored dumpi parser to read the newer binary-format dumpi trace files. More...
#include <parsedumpi.h>
Public Member Functions | |
parsedumpi () | |
virtual | ~parsedumpi () throw () |
Wait! That's not good news at all! More... | |
app * | clone_type () const |
IT'S AN ADDAMS! More... | |
mpi_api * | mpi () |
virtual void | consume_params (sprockit::sim_parameters *params) |
virtual void | skeleton_main () |
Parse the tracefile. More... | |
virtual std::string | to_string () const |
Public Member Functions inherited from sstmac::sw::app | |
int | allocate_tls_key (destructor_fxn fnx) |
software_id | sid () const |
int | appnum () const |
int | tasknum () const |
app * | parent_app () const |
void | sleep (timestamp time) |
void | compute (timestamp time) |
void | compute_inst (compute_event *cmsg) |
void | compute_loop (uint64_t, int nflops_per_loop, int nintops_per_loop, int bytes_per_loop) |
void | compute_detailed (long flops, long intops, long bytes) |
void | compute_block_read (long bytes) |
void | compute_block_write (long bytes) |
void | compute_block_memcpy (long bytes) |
lib_compute_loops * | compute_loops_lib () |
virtual | ~app () |
Goodbye. More... | |
app * | clone (software_id newid) |
virtual void | kill () |
virtual void | run () |
Derived types need to override this method. More... | |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
sprockit::sim_parameters * | params () const |
void | add_subthread (thread *thr) |
Let a parent application know about the existence of a subthread If thread does not have an initialized ID, a unique ID is allocated for the thread Can be called from a constructor. More... | |
void | set_subthread_done (thread *thr) |
Indicate to parent application that subthread is done running. More... | |
void | remove_subthread (thread *thr) |
Let a parent application know a subthread has finished. More... | |
void | remove_subthread (long thr_id) |
thread * | get_subthread (long id) |
get_subthread More... | |
int | allocate_mutex () |
Allocate a unique ID for a mutex variable. More... | |
int | allocate_condition () |
Allocate a unique ID for a condition variable. More... | |
mutex_t * | get_mutex (int id) |
Fetch a mutex object corresponding to their ID. More... | |
condition_t * | get_condition (int id) |
Fetch a condition object corresponding to the ID. More... | |
bool | erase_condition (int id) |
bool | erase_mutex (int id) |
virtual void | clear_subthread_from_parent_app () |
Public Member Functions inherited from sstmac::sw::thread | |
void | set_api (thread *thr) |
template<class T > | |
T * | get_api () |
virtual | ~thread () |
state | get_state () const |
Get current thread state. More... | |
virtual void | init_perf_model_params (sprockit::sim_parameters *params) |
app_id | aid () const |
task_id | tid () const |
void | set_sid (software_id sid) |
void | spawn (thread *thr) |
long | init_id () |
long | thread_id () const |
void | cancel () |
This thread is not currently active - blocked on something However, some kill event happened and I never want to see this thread again. More... | |
bool | is_canceled () const |
operating_system * | os () const |
app_launch * | env () const |
void * | stack () const |
size_t | stacksize () const |
void ** | backtrace () const |
int | last_backtrace_nfxn () const |
int | backtrace_nfxn () const |
void | append_backtrace (void *fxn) |
void | pop_backtrace () |
void | set_backtrace (void **bt) |
void | collect_backtrace (int nfxn) |
void | init_thread (int phyiscal_thread_id, threading_interface *tocopy, void *stack, int stacksize, operating_system *os, threading_interface *yield_to) |
void | start_thread (thread *thr) |
A convenience request to start a new thread. More... | |
void | join () |
process_context | get_process_context () const |
key * | schedule_key () |
key used More... | |
bool | is_initialized () const |
Test whether the current task has been initialized (activated) by a scheduler. More... | |
void | register_lib (library *lib) |
void | set_affinity (int core) |
void | add_affinity (int core) |
void | zero_affinity () |
template<class T > | |
T & | register_perf_ctr_variable (void *ptr) |
void | remove_perf_ctr_variable (void *ptr) |
perf_counter_model * | perf_ctr_model () const |
void | set_cpumask (uint64_t cpumask) |
uint64_t | cpumask () const |
int | active_core () const |
void | set_active_core (int core) |
void | set_pthread_map (pthread_map_t *threadmap) |
void * | get_tls_value (long thekey) const |
void | set_tls_value (long thekey, void *ptr) |
timestamp | now () |
Public Member Functions inherited from sprockit::factory_type | |
virtual void | init_factory_params (sim_parameters *params) |
virtual void | finalize_init () |
Private Attributes | |
std::string | fileroot_ |
The fileroot we plan to parse. More... | |
double | timescaling_ |
The time scaling factor. More... | |
mpi_api * | mpi_ |
bool | print_progress_ |
double | percent_terminate_ |
std::string | metafilename_ |
Friends | |
class | parsedumpi_unit_test |
class | parsedumpi_callbacks |
Additional Inherited Members | |
Public Types inherited from sstmac::sw::app | |
typedef void(* | destructor_fxn) (void *) |
typedef int(* | main_fxn) (int argc, char **argv) |
typedef int(* | empty_main_fxn) () |
Public Types inherited from sstmac::sw::thread | |
enum | state { PENDING =0, INITIALIZED =1, ACTIVE =2, SUSPENDED =3, BLOCKED =4, CANCELED =5, DONE =6 } |
Help resolve deadlock situations. More... | |
typedef spkt_unordered_map< long, thread * > | pthread_map_t |
Static Public Member Functions inherited from sstmac::sw::app | |
static sprockit::sim_parameters * | get_params () |
static void | delete_statics () |
Static Public Member Functions inherited from sstmac::sw::thread | |
static thread * | current () |
Static Public Attributes inherited from sstmac::sw::thread | |
static const int | no_core_affinity = -1 |
static const int | no_socket_affinity = -1 |
static const int | main_thread = -1 |
static const int | nic_thread = -2 |
static const int | rdma_thread = -3 |
static const app_id | main_thread_aid |
static const task_id | main_thread_tid |
Protected Member Functions inherited from sstmac::sw::app | |
app () | |
api * | _get_api (const char *name) |
virtual void | init_mem_lib () |
Protected Member Functions inherited from sstmac::sw::thread | |
thread () | |
void | unregister_all_libs () |
Protected Attributes inherited from sstmac::sw::app | |
sprockit::sim_parameters * | params_ |
software_id | id_ |
Protected Attributes inherited from sstmac::sw::thread | |
spkt_unordered_map< std::string, api * > | apis_ |
state | state_ |
Monitor state for deadlock detection. More... | |
operating_system * | os_ |
Each thread can only run under one OS/scheduler. More... | |
std::queue< key * > | joiners_ |
app * | parent_app_ |
process_context | p_txt_ |
A refactored dumpi parser to read the newer binary-format dumpi trace files.
Discards support for older-style ascii-based files since nobody was using those except us anyway.
TODO: Fix this to read the metafile rather than the trace files directly (would avoid hack needed where MPI world size is smaller than the total cores allocated to the job).
Definition at line 32 of file parsedumpi.h.
|
inline |
Definition at line 38 of file parsedumpi.h.
References sstmac::sw::app::app(), and ~parsedumpi().
Referenced by clone_type().
|
virtual |
Wait! That's not good news at all!
Referenced by parsedumpi().
|
inlinevirtual |
IT'S AN ADDAMS!
Implements sstmac::sw::app.
Definition at line 46 of file parsedumpi.h.
References consume_params(), mpi(), sstmac::sw::app::params(), parsedumpi(), and skeleton_main().
|
virtual |
Implements sstmac::sw::app.
Referenced by clone_type().
mpi_api* sumi::parsedumpi::mpi | ( | ) |
Referenced by clone_type(), and sumi::parsedumpi_callbacks::getmpi().
|
virtual |
|
inlinevirtual |
Reimplemented from sstmac::sw::thread.
Definition at line 60 of file parsedumpi.h.
|
friend |
Definition at line 35 of file parsedumpi.h.
|
friend |
Definition at line 34 of file parsedumpi.h.
|
private |
The fileroot we plan to parse.
Definition at line 66 of file parsedumpi.h.
|
private |
Definition at line 77 of file parsedumpi.h.
|
private |
Definition at line 71 of file parsedumpi.h.
|
private |
Definition at line 75 of file parsedumpi.h.
|
private |
Definition at line 73 of file parsedumpi.h.
|
private |
The time scaling factor.
Definition at line 69 of file parsedumpi.h.