Parallel processing 如何检测OpenMP可并行化区域?

Parallel processing 如何检测OpenMP可并行化区域?,parallel-processing,profiling,openmp,Parallel Processing,Profiling,Openmp,我目前正在与许多以前的开发人员一起编写一个大型代码,该代码被分成了大量的类。虽然OOP设计非常好,但代码本身运行速度非常慢,我希望使用OpenMP使其更快 问题是,我以前没有在这么大的代码中找到可能的可并行区域的经验——有什么好的工具/分析器可以做到这一点吗 到目前为止,我发现: 英特尔顾问() 您是否使用过任何代码执行探查器来收集有关代码中任何部分的运行时的硬事实?代码的跨度是多少i、 e.在您开始考虑通过OpenMP将代码库转换为重新分解之前,在代码库上花费了多少[人*年]的努力?@us

我目前正在与许多以前的开发人员一起编写一个大型代码,该代码被分成了大量的类。虽然OOP设计非常好,但代码本身运行速度非常慢,我希望使用OpenMP使其更快

问题是,我以前没有在这么大的代码中找到可能的可并行区域的经验——有什么好的工具/分析器可以做到这一点吗


到目前为止,我发现:

  • 英特尔顾问()

您是否使用过任何代码执行探查器来收集有关代码中任何部分的运行时的硬事实?代码的跨度是多少i、 e.在您开始考虑通过OpenMP将代码库转换为重新分解之前,在代码库上花费了多少[人*年]的努力?@user3666197我使用了
gprof
来大致了解运行时。而且,它已经开发了大约18个月,主要是由3到4个人组成的团队。那么,您在分析数据中发现了哪些热点?每个热点持续如此长时间的原因是什么?网络传输延迟、I/O操作、CPU计算、MEM-I/O传输延迟、其他?