测量omp_fn例程

时间:2017-06-22 12:11:56

标签: gcc openmp disassembly intel-pin

我正在编写一个pintool收集应用程序例程子集中的度量标准(其中一些是由编译器生成的)。 目标是获得这些例程的执行时间。

以下是我已经给出的一系列尝试:

  • 当然,由于虚拟机开销,使用pin进行操作是一个坏主意。
  • gcc选项-finstrument-functions不限制它生成的OpenMP函数。
  • LD_PRELOAD不能与静态链接的OpenMP函数一起使用。
  • 如果pin允许转储静态检测的程序集,我们可以避免虚拟环境开销,但据我所知,它是不可能的。
  • 我知道Maqao仪器工具不使用虚拟环境,但我想避免使用太多框架或将我的pintool翻译成maqao lua脚本。

我想我只剩下手动二进制检测,但如果有人有更好的解决方案,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您只想获得结果 - 请使用支持OpenMP的综合测量基础架构,例如Intel VTune,Extrae / Paraver,Score-P。这将为您提供有关OpenMP区域的分析或跟踪信息。

如果您想自己实施测量,可以使用基础的源到源转换工具Opari。您也可以使用更清晰的OpenMP tools interface (OMPT),但AFAIK尚未得到广泛支持。最近的英特尔OpenMP运行时可能会有运气。