SST/macro
Public Member Functions | Private Attributes | Friends | List of all members
sumi::parsedumpi Class Reference

A refactored dumpi parser to read the newer binary-format dumpi trace files. More...

#include <parsedumpi.h>

Inheritance diagram for sumi::parsedumpi:
Inheritance graph
Collaboration diagram for sumi::parsedumpi:
Collaboration graph

Public Member Functions

 parsedumpi ()
 
virtual ~parsedumpi () throw ()
 Wait! That's not good news at all! More...
 
appclone_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
 
appparent_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_loopscompute_loops_lib ()
 
virtual ~app ()
 Goodbye. More...
 
appclone (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)
 
threadget_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_tget_mutex (int id)
 Fetch a mutex object corresponding to their ID. More...
 
condition_tget_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_systemos () const
 
app_launchenv () 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
 
keyschedule_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_modelperf_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 threadcurrent ()
 
- 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_systemos_
 Each thread can only run under one OS/scheduler. More...
 
std::queue< key * > joiners_
 
appparent_app_
 
process_context p_txt_
 

Detailed Description

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.

Constructor & Destructor Documentation

sumi::parsedumpi::parsedumpi ( )
inline

Definition at line 38 of file parsedumpi.h.

References sstmac::sw::app::app(), and ~parsedumpi().

Referenced by clone_type().

Here is the call graph for this function:

virtual sumi::parsedumpi::~parsedumpi ( )
throw (
)
virtual

Wait! That's not good news at all!

Referenced by parsedumpi().

Member Function Documentation

app* sumi::parsedumpi::clone_type ( ) const
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().

Here is the call graph for this function:

virtual void sumi::parsedumpi::consume_params ( sprockit::sim_parameters *  params)
virtual

Implements sstmac::sw::app.

Referenced by clone_type().

mpi_api* sumi::parsedumpi::mpi ( )
virtual void sumi::parsedumpi::skeleton_main ( )
virtual

Parse the tracefile.

Implements sstmac::sw::app.

Referenced by clone_type().

virtual std::string sumi::parsedumpi::to_string ( ) const
inlinevirtual

Reimplemented from sstmac::sw::thread.

Definition at line 60 of file parsedumpi.h.

Friends And Related Function Documentation

friend class parsedumpi_callbacks
friend

Definition at line 35 of file parsedumpi.h.

friend class parsedumpi_unit_test
friend

Definition at line 34 of file parsedumpi.h.

Member Data Documentation

std::string sumi::parsedumpi::fileroot_
private

The fileroot we plan to parse.

Definition at line 66 of file parsedumpi.h.

std::string sumi::parsedumpi::metafilename_
private

Definition at line 77 of file parsedumpi.h.

mpi_api* sumi::parsedumpi::mpi_
private

Definition at line 71 of file parsedumpi.h.

double sumi::parsedumpi::percent_terminate_
private

Definition at line 75 of file parsedumpi.h.

bool sumi::parsedumpi::print_progress_
private

Definition at line 73 of file parsedumpi.h.

double sumi::parsedumpi::timescaling_
private

The time scaling factor.

Definition at line 69 of file parsedumpi.h.


The documentation for this class was generated from the following file: