当前位置:  开发笔记 > 编程语言 > 正文

如何测量openmp中每个线程的执行时间?

如何解决《如何测量openmp中每个线程的执行时间?》经验,为你挑选了1个好方法。

我想衡量每个线程花费在执行代码块上的时间。我想看看我的负载平衡策略是否在工作人员之间平均分配块。通常,我的代码如下所示:

#pragma omp parallel for schedule(dynamic,chunk) private(i)
for(i=0;i

更新我在gcc中使用openmp 3.1



1> Gilles..:

您可以用这种方式打印每个线程的时间(未经测试,甚至没有编译):

#pragma omp parallel
{
    double wtime = omp_get_wtime();
    #pragma omp for schedule( dynamic, 1 ) nowait
    for ( int i=0; i

注意,the nowaitbarrierfor循环结束时删除,否则将不会引起任何兴趣。

当然,使用适当的分析工具是一种更好的方法...

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有