Performance OpenMP、VTune、空闲线程

Performance OpenMP、VTune、空闲线程,performance,openmp,intel-vtune,Performance,Openmp,Intel Vtune,我使用VTune检查代码的并发性。是输出的屏幕截图。您可以看到,在一个线程的初始阶段,会有约0.3秒的密集多线程工作(棕色尖峰),然后会有近3秒的空闲时间(没有棕色的“CPU”,只有绿色的“运行”) 知道什么会导致线程处于绿色空闲状态吗?我的代码应该在完成所有密集计算后返回,没有理由再等待3秒…在没有分析器的情况下执行程序需要多少时间?速度快吗?查看VTune的时间线视图,我得到的印象是,主线程可能正在使用pthread_exit()退出main()函数,因此OpenMP工作线程继续活动,阻止程

我使用VTune检查代码的并发性。是输出的屏幕截图。您可以看到,在一个线程的初始阶段,会有约0.3秒的密集多线程工作(棕色尖峰),然后会有近3秒的空闲时间(没有棕色的“CPU”,只有绿色的“运行”)


知道什么会导致线程处于绿色空闲状态吗?我的代码应该在完成所有密集计算后返回,没有理由再等待3秒…

在没有分析器的情况下执行程序需要多少时间?速度快吗?查看VTune的时间线视图,我得到的印象是,主线程可能正在使用pthread_exit()退出main()函数,因此OpenMP工作线程继续活动,阻止程序完成,直到超时到期,工作线程决定关闭自己。请参阅关于pthread_exit的讨论