Intel Advisor 提供了哪些功能?

Posted

技术标签:

【中文标题】Intel Advisor 提供了哪些功能?【英文标题】:What are these functions given by Intel Advisor? 【发布时间】:2017-04-17 07:45:50 【问题描述】:

我正在尝试使用 Intel Advisor 来了解我的应用程序中的热点。

这些是我正在使用的编译和链接器标志:

INTEL_OPT=-O3 -simd -xCORE-AVX2 -parallel -ipo -qopenmp -fargument-noalias -ansi-alias -no-prec-div -fp-model fast=2
INTEL_PROFILE=-g -qopt-report=5 -Bdynamic -shared-intel -debug inline-debug-info -qopenmp-link dynamic -parallel-source-info=2 -ldl 

这是取自this教程的示例图片:

这是我的应用程序的屏幕截图:

我不明白_clone[stack]_start_libc_start_main 之前的所有这些函数是什么。

【问题讨论】:

运行时,加载程序并调用 main() 【参考方案1】:

James 是正确的:_clone、[stack]、_start 和 _libc_start_main 等内容对应于 CRT、Cray sys 库(如果您使用 Cray env)、OMP 运行时内部或一般系统调用。

此外,在您的个人资料中,您似乎没有启用任何矢量化信息(空的“为什么不进行矢量化”、没有剥离剩余分解、没有 SIMD 效率指标等)。由于您的编译标志似乎是合理的,我的下一个猜测是您要么将调试信息剥离到单独的文件中,要么使用相当旧的 ICL 版本。删除 ipo 也可能有助于启用丢失的信息。

【讨论】:

感谢您的回答。 INTEL_PROFILER 包含 Intel Advisor(用于线程和矢量化分析)和 Intel VTune 建议的所有标志,例如 this。代码已经使用 omp 并行化(所以有 omp 运行时内部),我正在尝试改进它。 Myabe 是因为您建议的ipo。否则我真的不明白为什么我的案例与教程案例如此不同。 我明白了。您担心的是 THREADING 教程中的 SCREEN-SHOT 与您的 GUI 不同。原因如下:Threading Advisor 教程比 Vectorization Tutorial 旧得多,所以其中的一些屏幕截图可能已经过时,而在新的 Advisor 中,系统调用的分析比以前更多。一般来说,即使 Vectoization 不是您的主要关注点,请注意,在software.intel.com/en-us/… 的最新“Vectorizatoin 教程”中更好地描述了最强大和最新的工具功能

以上是关于Intel Advisor 提供了哪些功能?的主要内容,如果未能解决你的问题,请参考以下文章

Intel Advisor beta 卸载分析:没有执行计数

使用 Intel Advisor XE 报告 FLOP

在远程计算机上使用 Intel Advisor 的正确方法是啥?

Intel Advisor - 在本地 Windows GUI 上查看来自 Linux 云的结果

Intel Advisor XE 中的错误 0x4000001e:无法加载原始收集器数据

禁用sql tuning advisor功能