我有一个已被OpenMP并行化的循环,但由于任务的性质,有4个critical
子句。如何剖析OpenMP瓶颈
如何分析加速并找出哪些关键子句(或者非关键(!))占用循环内最多时间的最佳方法是什么?
我使用Ubuntu 10.04使用g ++ 4.4.3
我有一个已被OpenMP并行化的循环,但由于任务的性质,有4个critical
子句。如何剖析OpenMP瓶颈
如何分析加速并找出哪些关键子句(或者非关键(!))占用循环内最多时间的最佳方法是什么?
我使用Ubuntu 10.04使用g ++ 4.4.3
intel vtune是一个很好的产品。与scalasca或tau相比,使用非常简单。这是值得的钱。 – tune2fs
VTune实际上可以免费用于非商业软件。 http://software.intel.com/en-us/non-commercial-software-development – SaiyanGirl
英特尔似乎已经停止免费提供vtune。现在只有提供学术用途的产品。 –
Arm MAP具有OpenMP和pthreads性能分析 - 并且无需工具或修改源代码即可工作。您可以看到同步问题以及线程在源线级别花费时间的位置。 OpenMP profiling博客条目值得一读。
MAP被广泛用于高性能计算,因为它也是剖析MPI等多进程应用程序。
我修改了原始文章的其他信息 – Mikhail
我做了这样的任务,修改了omp库资源并添加了一个rdtsc的 – osgx