【问题标题】:Is there something like clock() that works better for parallel code?有没有像 clock() 这样的东西更适合并行代码?
【发布时间】:2010-03-18 01:57:42
【问题描述】:

所以我知道 clock() 测量时钟周期,因此对于测量时间不是很好,而且我知道有像 omp_get_wtime() 这样的函数来获取挂墙时间,但让我感到沮丧的是挂墙时间变化如此之大,并且想知道是否有某种方法可以测量不同的时钟周期(即使在其中执行了多个线程,也只有一个周期)。它必须是相对简单/原生的东西。谢谢

【问题讨论】:

    标签: parallel-processing openmp clock


    【解决方案1】:

    您确定测量时间对您不起作用吗?请记住,您只能测量到这么多毫秒,具体取决于操作系统。

    【讨论】:

      【解决方案2】:

      如果您使用的 x86 我已经测试过并且似乎在我的系统 (mac) 上运行良好,请参阅 FreeMemory 对 RDTSC 的this question 的回答,但请参阅我对this question 的回答。另见对 RDTSC here 的批评。

      不过,通常不值得将细节级别降低到太低,计算机需要执行的其他零碎工作会占用时钟周期,因此它会因负载而异。我发现omp_get_wtime() 足够了,不过我需要将我的代码放在一个额外的循环中,以确保需要大约一秒钟的时间来确保每次运行的结果一致。

      【讨论】:

        猜你喜欢
        • 2013-07-30
        • 2014-09-29
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多