PULSAR  1.0.0
Parallel Ultra Light Systolic Array Runtime
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
prt_thread.h
Go to the documentation of this file.
1 
11 #ifndef PRT_THREAD_H
12 #define PRT_THREAD_H
13 
14 #include "prt.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 struct prt_vsa_s;
21 
27 typedef struct prt_thread_s {
28  struct prt_vsa_s *vsa; // back link to the parent VSA
29  int rank; // local thread number
30  int core; // global core number
31  pthread_t id; // local pthread ID
32  icl_list_t *vdps; // list of VDPs
33  int finished; // completion flag
34 } prt_thread_t;
35 
36 prt_thread_t* prt_thread_new(int rank, int core);
38 void* prt_thread_run(void *thrd);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 
44 #endif /* PRT_THREAD_H */
struct prt_thread_s ** thread
Definition: prt_vsa.h:51
struct prt_vsa_s * vsa
Definition: prt_thread.h:28
Virtual Systolic Array (VSA) VSA contains global informationa about the system, a local communication...
Definition: prt_vsa.h:45
void * prt_thread_run(void *thrd)
thread's production cycle Cycle through VDPs. Fire the ones that are ready. Remove the ones which bur...
Definition: prt_thread.c:70
void prt_thread_delete(prt_thread_t *thread)
thread object destructor
Definition: prt_thread.c:48
icl_list_t * vdps
Definition: prt_thread.h:32
struct prt_thread_s prt_thread_t
VSA's worker thread Owns a number of VDPs. Knows the communication proxy.
prt_thread_t * prt_thread_new(int rank, int core)
thread object constructor
Definition: prt_thread.c:22
VSA's worker thread Owns a number of VDPs. Knows the communication proxy.
Definition: prt_thread.h:27
pthread_t id
Definition: prt_thread.h:31