ompt-specific.h

Go to the documentation of this file.
00001 #ifndef OMPT_SPECIFIC_H
00002 #define OMPT_SPECIFIC_H
00003 
00004 #include "kmp.h"
00005 
00006 void __ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid);
00007 void __ompt_thread_assign_wait_id(void *variable);
00008 
00009 void __ompt_lw_taskteam_init(ompt_lw_taskteam_t *lwt, kmp_info_t *thr, 
00010                              int gtid, microtask_t microtask, 
00011                  ompt_parallel_id_t ompt_pid);
00012 
00013 void __ompt_lw_taskteam_link(ompt_lw_taskteam_t *lwt,  kmp_info_t *thr);
00014 
00015 void __ompt_lw_taskteam_unlink(ompt_lw_taskteam_t *lwt, kmp_info_t *thr);
00016 
00017 ompt_parallel_id_t __ompt_parallel_id_new(kmp_info_t *ti, int gtid);
00018 
00019 /* the wait_id assignment is needed in many, many macros - so define
00020  * a wrapper macro which can be a noop when it is not wanted.
00021  */
00022 #if OMPT_SUPPORT
00023 #define OMPT_THREAD_ASSIGN_WAIT_ID(DATA) __ompt_thread_assign_wait_id(DATA);
00024 #else
00025 #define OMPT_THREAD_ASSIGN_WAIT_ID(DATA)
00026 #endif
00027 
00028 
00029 inline
00030 kmp_info_t *ompt_get_thread_gtid(int gtid)
00031 {
00032   return (gtid >= 0) ? __kmp_thread_from_gtid(gtid) : NULL;
00033 }
00034 
00035 
00036 inline
00037 kmp_info_t *ompt_get_thread()
00038 {
00039   int gtid = __kmp_gtid_get_specific();
00040   return ompt_get_thread_gtid(gtid);
00041 }
00042 
00043 
00044 #endif

Generated on 25 Aug 2013 for libomp_oss by  doxygen 1.6.1