SST/macro
|
#include <sumi_thread.h>
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 app * | parent_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_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 () |
Private Member Functions | |
virtual void | run ()=0 |
Derived types need to override this method. More... | |
Private Attributes | |
sstmac::sw::lib_compute_time * | compute_ |
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 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::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_system * | os_ |
Each thread can only run under one OS/scheduler. More... | |
std::queue< key * > | joiners_ |
app * | parent_app_ |
process_context | p_txt_ |
Definition at line 8 of file sumi_thread.h.
sstmac::sumi_thread::sumi_thread | ( | sw::software_id | sid | ) |
|
inlinevirtual |
Definition at line 21 of file sumi_thread.h.
References compute(), and start().
void sstmac::sumi_thread::compute | ( | double | sec | ) |
Referenced by ~sumi_thread().
|
privatepure virtual |
Derived types need to override this method.
Implements sstmac::sw::thread.
void sstmac::sumi_thread::start | ( | ) |
Referenced by ~sumi_thread().
|
private |
Definition at line 14 of file sumi_thread.h.
|
staticprivate |
Definition at line 12 of file sumi_thread.h.