OpenMP,VTune,空闲线程

时间:2011-11-02 22:42:17

标签: performance openmp vtune

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

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

1 个答案:

答案 0 :(得分:0)

没有分析器,您的程序需要多少才能执行?它更快吗?查看VTune的时间轴视图,我得到的印象是主线程可能正在使用pthread_exit()退出main()函数,因此OpenMP工作线程继续存在,阻止程序完成,直到某个超时到期并且工作线程确定把自己关起来。请参阅here关于pthread_exit的讨论。