PULSAR  2.0.0
Parallel Ultra-Light Systolic Array Runtime
 All Data Structures Files Functions Typedefs Enumerations 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 
29 typedef struct prt_thread_s {
30  struct prt_vsa_s *vsa; // Back link to the parent VSA.
31  int rank; // Local thread number.
32  int core; // Global core number.
33  pthread_t id; // Local pthread ID.
34  icl_list_t *vdps; // List of VDPs.
35  volatile int finished; // Completion flag.
36  int agent_rank; // Rank of the communication agent.
37  double time; // Life time.
38 } prt_thread_t;
39 
40 prt_thread_t* prt_thread_new(int rank, int core, int agent_rank);
41 void prt_thread_delete(prt_thread_t *thread);
42 void* prt_thread_run(void *thrd);
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif /* PRT_THREAD_H */