使用显式 openMP 任务分析 OpenMP 程序

Posted

技术标签:

【中文标题】使用显式 openMP 任务分析 OpenMP 程序【英文标题】:Profiling an OpenMP program with explicit openMP tasks 【发布时间】:2013-03-19 16:24:04 【问题描述】:

作为我研究的一部分,我正在寻找替代方案来分析具有显式任务的 OpenMP 代码(根据 OpenMP 3.0)。我的主要目标是研究在计划和执行之前任务在全局障碍(例如任务等待)处空闲时产生的开销量。

我研究过使用最新版本的 TAU,它支持 Opari,它反过来检测源代码以生成分析统计信息。不幸的是,由于它检测源代码,这会导致程序执行的大量开销。

像 Gprof 和 PGprof 这样的工具没有提供我正在寻找的细节。我已经用它们进行了尝试和测试。

我正在寻找一种工具,该工具可以帮助我通过征收最低开销来分析具有任务的 OpenMP 程序。我很想研究 HPCToolkit 和 Scalasca,但我不确定它们是否提供对 OpenMP 任务的支持。

寻找路线和您的建议。 谢谢!!

【问题讨论】:

OpenMP 任务分析是目前一个活跃的研究领域,这意味着没有多少生产质量工具可以完全做到这一点。我的同事们正在 Score-P 项目中研究它——也许你应该看看它。 【参考方案1】:

试试LIKWID = 就像我知道我在做什么一样。 它非常可靠且免费。

【讨论】:

以上是关于使用显式 openMP 任务分析 OpenMP 程序的主要内容,如果未能解决你的问题,请参考以下文章

openmp递归任务示例比顺序慢

并行任务中的 C++ OpenMP 变量可见性

OpenMP 嵌套循环任务并行性,计数器未给出正确结果

OpenMP使用体验报告(概述)

部分和任务openmp之间的区别

OpenMP 和 Python