|
PULSAR
0.1
Parallel Unified Linear Algebra with Systolic Arrays
|
PRT thread. More...
#include "prt.h"

Go to the source code of this file.
Data Structures | |
| struct | prt_thread_s |
| VSA's worker thread Owns a number of VDPs. Knows the communication proxy. More... | |
Typedefs | |
| typedef struct prt_thread_s | prt_thread_t |
| VSA's worker thread Owns a number of VDPs. Knows the communication proxy. More... | |
Functions | |
| prt_thread_t * | prt_thread_new (int rank, int core) |
| thread object constructor More... | |
| void | prt_thread_delete (prt_thread_t *thread) |
| thread object destructor More... | |
| void * | prt_thread_run (void *thrd) |
| thread's production cycle Cycle through VDPs. Fire the ones that are ready. Remove the ones which burned out. Return when the list of VDPs becomes empty. More... | |
PRT thread.
PULSAR Runtime /pulsar/ Copyright (C) 2012-2013 University of Tennessee.
Definition in file prt_thread.h.
| typedef struct prt_thread_s prt_thread_t |
VSA's worker thread Owns a number of VDPs. Knows the communication proxy.
| void prt_thread_delete | ( | prt_thread_t * | thread | ) |
thread object destructor
| thread |
Definition at line 48 of file prt_thread.c.
References icl_list_destroy(), icl_list_size(), prt_assert, and prt_thread_s::vdps.


| prt_thread_t* prt_thread_new | ( | int | rank, |
| int | core | ||
| ) |
thread object constructor
| rank | local thread rank |
| core | global core number |
Definition at line 22 of file prt_thread.c.
References prt_thread_s::core, prt_thread_s::finished, icl_list_new(), prt_assert, prt_thread_s::rank, and prt_thread_s::vdps.


| void* prt_thread_run | ( | void * | thrd | ) |
thread's production cycle Cycle through VDPs. Fire the ones that are ready. Remove the ones which burned out. Return when the list of VDPs becomes empty.
| thrd | pointer to the thread object |
Definition at line 70 of file prt_thread.c.
References prt_vdp_s::color, prt_vsa_s::config, prt_vdp_s::counter, icl_list_s::data, prt_thread_s::finished, prt_vdp_s::function, prt_vsa_s::global_store, icl_list_delete(), icl_list_first(), icl_list_next(), prt_vdp_s::input, prt_vdp_s::local_store, prt_vdp_s::output, prt_vdp_ready(), PRT_VDP_SCHEDULING_AGGRESSIVE, PRT_VDP_SCHEDULING_LAZY, prt_thread_s::rank, svg_trace_start(), svg_trace_stop(), prt_vdp_s::tuple, prt_config_s::vdp_scheduling, prt_thread_s::vdps, and prt_thread_s::vsa.

