oneAPI GPU 优化指南 - OpenMP 部署调优指南 - 分析 OpenMP 应用程序性能的工具

本章节翻译by chenchensmail@163.com  原文:

OpenMP Execution Model (intel.com)

有多种工具和机制可用于分析 OpenMP 程序的性能并识别瓶颈。

  • Intel® VTuneTM Profiler

    Intel® VTuneTM Profiler 可以用于分析应用程序的性能。 它有助于识别应用程序中最耗时(热点)的函数,应用程序是 CPU 还是 GPU 限制, 它如何有效地将代码卸载到 GPU ,以及最佳的代码部分来优化顺序性能和线程性能等。 有关 VTune Profiler 的更多信息,请参阅 Intel® VTune™ Profiler User Guide

  • Intel® Level Zero 和 OpenCL 跟踪工具

    onetrace 是一个针对 Level Zero 和 OpenCL 后端的主机和设备活动跟踪工具, 支持 SYCL 和 OpenMP GPU 部署。有关此工具的信息,请参阅本文档的 Intel® GPU 分析工具接口 部分。

    当使用 onetrace 与 -h 和 -d 选项时,查看跟踪末尾的主机和设备端摘要, 在 “API Timing Results” 和 “Device Timing Results” 标题下。

    请注意,仅显式数据传输出现在跟踪中。在统一共享内存(USM)中分配的数据传输可能不会出现在跟踪中。

注意:

  • onetrace 对于确认 oneMKL kernel 部署是否发生很有用。环境变量 OMP_TARGET_OFFLOAD=MANDATORY 不影响 oneMKL ,因此不能用于保证 oneMKL kernel (以及其他 kernel )部署是否发生。 检查 oneMKL kernel (以及其他 kernel )部署是否发生的一种方法是查看在 onetrace 生成的 跟踪中 “Device Timing Results” 下列出了哪些 kernel。

SYCL_PI_TRACE=2 环境变量. DPC++ runtime 插件接口( PI ) 是 SYCL runtime 设备无关部分与控制设备上执行的设备特定运行时层之间的接口层。 设置 SYCL_PI_TRACE=2 提供所有 PI 调用及其参数和返回值的跟踪。 有关更多信息,请参阅 DPC++ Runtime Plugin Interface documentation.

LIBOMPTARGET_DEBUG=1 环境变量. LIBOMPTARGET_DEBUG 控制是否显示来自 libomptarget.so 的调试信息。

调试输出提供了有关诸如 ND-range 划分循环迭代、主机与设备之间数据传输、内存使用等方面的有用信息, 如本文档中 :Using More GPU Resources 和 :Minimizing Data Transfers and Memory Allocations 部分所示。

有关 LIBOMPTARGET_DEBUG 的更多信息 请参阅 LLVM/OpenMP Runtimes.

LIBOMPTARGET_PLUGIN_PROFILE 环境变量. LIBOMPTARGET_PROFILE 允许 libomptarget.so 生成时间配置文件输出。有关更多信息,请参阅 LLVM/OpenMP Runtimes.

编译器生成的设备汇编代码转储. 你可以通过在进行 Just-In-Time (JIT) 编译之前 (或在 Ahead-Of-Time (AOT) 编译情况下运行程序之前)设置以下两个环境变量来转储编译器生成的汇编代码。

export IGC_ShaderDumpEnable=1
export IGC_DumpToCustomDir=my_dump_dir

LLVM IR ,汇编和 GenISA 文件将被转储到名为 my_dump_dir (或你选择的任何其他名称)的子目录中。 在此子目录中,你将找到每个 kernel 的 *.asm 文件。文件名指示 kernel 发生的源代码行号。 文件头提供有关 SIMD 宽度,编译器选项以及其他信息的信息。

此外,在 my_dump_dir 中,你将找到一个名为 HardwareCaps.txt 的文件,该文件提供有关 GPU 的信息, 例如 EU 计数,线程计数,切片计数等。

有关 Intel® 图形编译器以及可用标志(环境变量)列表以控制编译的更多信息,请参阅 Intel® Graphics Compiler for OpenCL™ Configuration Flags for Linux Release

有关调试和分析的其他信息,请参阅本文档的 Performance Profiling and Analysis 部分。

  上一章                                    主目录​​    上级目录                                                               下一章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值