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