与英特尔® Parallel Amplifier 有关的编译器选项
简介:英特尔® Parallel Amplifier 能够分析二进制代码。然而,如果在编译您的程序时,能正确和适当的设置编译器选项可以使分析更容易。
对英特尔® Parallel Amplifier 有用的设置:
编译选项 | 目的 |
/Zi (极力推荐) | 英特尔 Parallel Inspector 使用编译中产生的符号将地址与源代码行关联起来。 |
"Release" Build (极力推荐) | 如果未使用正常的选项(非 /Od),某个代码段的执行时间可能会改变。这可能会误导你对没有性能问题的代码段进行分析和尝试优化。 |
/MD or /MDd (推荐) | 此设置能使Amplifier 将 C 运行时库调用与您的代码在 User Attribution 中区分开来。 |
基于使用英特尔® 编译器编译的OpenMP* 应用程序,对英特尔® Parallel Amplifier对有用的编译选项设置:
编译选项 | 目的 |
/Qopenmp (极力推荐) | 如果没有此开关,英特尔® Parallel Amplifier 将因 OpenMP pragmas 指令而无法识别并行区域。 |
/MD or /MDd (推荐) | 在英特尔® 编译器 10.1 中,此设置选择 OpenMP* 运行时库的动态链接版本,该版本已经为英特尔® Parallel Amplifier插入了所需的调试代码。 使用英特尔编译器 11.0 或英特尔 Parallel Composer 时,请参阅以下内容。 |
/Qopenmp-link:dynamic (推荐) | 在英特尔® 编译器 11.0 和英特尔® Composer 中,此设置选择 OpenMP* 运行时库的动态链接版本,该版本已经为英特尔® Parallel Amplifier插入所需的调试代码。 使用英特尔编译器 11.0 或英特尔 Parallel Composer 时,此项为默认设置。 |
编译选项 | 目的 |
/D "TBB_USE_THREADING_TOOLS" (推荐) | 此设置在生成的代码中加入了适当的调试代码,使英特尔® Parallel Amplifier 能够正确识别英特尔® 线程构建模块。 |
使用英特尔® Parallel Amplifier 时不推荐使用的编译设置:
编译选项 | 目的 |
/Qtcheck (请勿使用) | 此设置可用来替代英特尔® 线程检查器的调试代码插入方法,它将造成过度的性能分析差异。英特尔® Parallel Amplifier 并不使用此开关。 |
/Qopenmp-link:static (请勿使用) | 此设置将英特尔® OpenMP* 库的静态版本连接进您的代码中。此版本不包含英特尔®parallel Amplifier 所需的调试代码。 |
/Qtprofile (请勿使用) | 此设置可用来代替英特尔® 线程档案器的调试代码插入方法,它将造成过度的性能分析差异。英特尔® Parallel Amplifier 并不使用此开关。 |
/Qopenmp_stubs (请勿使用) | 此设置将阻止 OpenMP* 代码实际并行化。 |
/debug:parallel (请勿使用) | 此设置为英特尔® Parallel Composer 启用英特尔® Parallel Debugger Extension。它并不用于英特尔® Parallel Amplifier。 |
对英特尔® Parallel Amplifier 没有影响的设置:
编译选项 | 目的 |
/FIXED:NO | 此设置对英特尔® Parallel Amplifier 而言不是必需的。它是一个连接器开关,在英特尔线程检查器、英特尔线程档案器以及英特尔 VTuneTM 性能分析器调用关系图中,所进行的调试代码插入需要用到这个设置。 |
注意: 英特尔® Parallel Amplifier 与下列库的动态版本协同工作效果更佳:
- OpenMP* 运行时库(libiomp5md.dll 或 libguide40.dll)
- C 运行时库(msvcr90.dll、msvcr80.dll、msvcr90d.dll 或 msvcr80d.dll)
英特尔® Parallel Amplifier 无法与下列库协同工作:
- OpenMP* 运行时库(libiomp5mt.lib、libguide.lib、vcomp80.dll/vcomp90.dll 或 vcomp80d.dll/vcomp90d.dll)
- C 运行时库(libcmt.lib)
更多信息:
本文介绍了开发人员最关心的常用编译选项。大部分选项都可用于英特尔® Parallel Amplifier,但并未对所有选项组合进行测试。如果您有关于其他编译选项的信息或您对某个特定选项有疑问,请登录Intel® Parallel Studio 论坛提交您的问题。
版本:
英特尔®ParallelAmplifier
英特尔®ParallelComposer
英特尔®C++编译器11.0Windows*版
Intel®C++编译器10.1Windows*版
Microsoft*VisualStudio2005
Microsoft*VisualStudio2008