SST/macro
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
sstmac::sumi_thread Class Referenceabstract

#include <sumi_thread.h>

Inheritance diagram for sstmac::sumi_thread:
Inheritance graph
Collaboration diagram for sstmac::sumi_thread:
Collaboration graph

Public Member Functions

 sumi_thread (sw::software_id sid)
 
virtual ~sumi_thread ()
 
void start ()
 
void compute (double sec)
 
- Public Member Functions inherited from sstmac::sw::thread
virtual std::string to_string () const
 
void set_api (thread *thr)
 
template<class T >
T * get_api ()
 
virtual appparent_app () const
 
virtual void clear_subthread_from_parent_app ()
 
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
 
virtual void kill ()
 
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 ()
 

Private Member Functions

virtual void run ()=0
 Derived types need to override this method. More...
 

Private Attributes

sstmac::sw::lib_compute_timecompute_
 

Static Private Attributes

static uint64_t num_threads_
 

Additional Inherited Members

- 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::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::thread
 thread ()
 
virtual api_get_api (const char *name)
 
void unregister_all_libs ()
 
- 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

Definition at line 8 of file sumi_thread.h.

Constructor & Destructor Documentation

sstmac::sumi_thread::sumi_thread ( sw::software_id  sid)
virtual sstmac::sumi_thread::~sumi_thread ( )
inlinevirtual

Definition at line 21 of file sumi_thread.h.

References compute(), and start().

Here is the call graph for this function:

Member Function Documentation

void sstmac::sumi_thread::compute ( double  sec)

Referenced by ~sumi_thread().

virtual void sstmac::sumi_thread::run ( )
privatepure virtual

Derived types need to override this method.

Implements sstmac::sw::thread.

void sstmac::sumi_thread::start ( )

Referenced by ~sumi_thread().

Member Data Documentation

sstmac::sw::lib_compute_time* sstmac::sumi_thread::compute_
private

Definition at line 14 of file sumi_thread.h.

uint64_t sstmac::sumi_thread::num_threads_
staticprivate

Definition at line 12 of file sumi_thread.h.


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