Hi, Thanks a lot. The good news is that by the end of this month I think we will finish most of OMPD. The remaining parts need OMPT support which is missing in GNU but all the other functions work perfectly fine.
Finished work, Initialization Thread handles ICVs remaining work, task handles parallel region handles Thanks Mohamed On Mon, Mar 7, 2022 at 7:40 PM Martin Jambor <mjam...@suse.cz> wrote: > Hi, > > it's been a while since I had a serious look into libgomp... > > On Fri, Feb 25 2022, Mohamed Atef via Gcc wrote: > > Hello everyone, > > From OpenMP specs. > > "The OpenMP implementation must execute ompd_bp_thread_begin at every > > native-thread-begin and initial-thread-begin event. This execution occurs > > before the thread starts > > the execution of any OpenMP region" > > > > "When terminating an OpenMP thread, the implementation executes > > ompd_bp_thread_end." > > > > are these team_start and team_end in team.c file? > > ...but - based on a rather quick look - while I think you correctly > tracked down that gomp_team_start is the place actually creating the > threads, I think that the OMPD implementation wants to execute the > ompd_bp_thread_begin function for each thread and by the native > (pthread) thread. And, as far as I can tell, that seems to be the > function gomp_thread_start. At the moment I cannot quite tell if the > end of the function would be a good place for the thread termination > event - or rather if it is sufficient and there may be others, I would > need to dig deeper. But perhaps this already help? > > Martin > >