NVIDIA Nsight 警告:OpenACC 注入初始化失败。 PGI 运行时版本是不是大于 15.7?
Posted
技术标签:
【中文标题】NVIDIA Nsight 警告:OpenACC 注入初始化失败。 PGI 运行时版本是不是大于 15.7?【英文标题】:NVIDIA Nsight waring: OpenACC injection initialization failed. Is the PGI runtime version greater than 15.7?NVIDIA Nsight 警告:OpenACC 注入初始化失败。 PGI 运行时版本是否大于 15.7? 【发布时间】:2021-01-11 14:33:50 【问题描述】:我正在尝试在我的 Ubuntu 18.04 上使用 OpenACC 指令加速我的 Fortran 2003 程序。配备 Nvidia GeForce RTX 2070 卡的工作站。为此,我安装了 Nvidia HPC-SDK 版本 20.7,它应该附带我需要的编译器(来自 Portland Group 和 Nvidia 的 Fortran 2003(两者都是版本 20.7-0))以及分析器(nvprof 和 Nvidia Nsight Sytems (2020.3.3))。 1))。
在安装后出现一些小故障后,主要是在 Robert Cravella (https://***.com/users/1695960/robert-crovella) 和 Mat Colgrove (https://***.com/users/3204484/mat-colgrove) 的帮助下,我设法让事情顺利进行,这让我非常高兴。
我的工作流程如下所示:
编译我的程序:
pgfortran -acc -Minfo=accel -o my_program ./my_program.f90
我通过分析器运行它:
nsys profile ./my_program
然后用File -> Open
导入nsight-sys
并选择report1.qdrep
我相信这是一个合适的工作流程。但是,在打开报告文件时,nsight-sys
给了我警告:“OpenACC 注入初始化失败。PGI 运行时版本是否大于 15.7?”这很不幸,因为我使用 OpenACC 来加速我的程序。
我不太确定 PGI 运行时是什么,也不知道如何检查或更改它?我认为它与 Portland Group(编译器)有关,但我使用的是 Nvidia 的 HPC-SDK 随附的套件编译器,因此我不希望与同一软件包中随附的分析器工具不兼容。
是否可以选择或完全可以更新 PGI 运行时的东西?
请给点建议?
干杯
【问题讨论】:
【参考方案1】:与您之前的帖子相同的答案。 Nsight-Systems 版本 2020.3 存在一个已知问题,在分析 OpenACC 时有时可能会导致注入错误。有人告诉我,这已在 2020.4 版本中修复,因此解决方法是下载并安装 2020.4 或使用之前的版本。
https://developer.nvidia.com/nsight-systems
2020.3 版是我们随 NVHPC 20.7 SDK 一起提供的版本。我不确定我们是否有足够的时间在即将发布的 20.9 版本中更新到 2020.4,但如果没有,我们将在以后的版本中捆绑它。
【讨论】:
【参考方案2】:谢谢马特,
与此同时,我设法让一切正常运行。我做了如下:
首先安装了 CUDA 工具包,它附带了我的 Nvidia RTX 2070 卡的最新驱动程序,准确地说是 11.1。它需要重新启动,但没关系。为了使 CUDA 工具包正常工作,我必须将 LD_LIBRARY_PATH
设置为其库。
然后我安装了 Fortran 2003 编译器所需的 Nvidia HPC-SDK。
HPC-SDK 是为 CUDA 11.0 版本构建的,并带有自己的库,LD_LIBRARY_PATH
应该指向不同于 CUDA 工具包的库。
但是,我保留了 LD_LIBRARY_PATH
以指向 CUDA 工具包,然后编译器和分析器完美协调工作:-)
再次感谢,你和罗伯特帮助我把事情办好。
【讨论】:
以上是关于NVIDIA Nsight 警告:OpenACC 注入初始化失败。 PGI 运行时版本是不是大于 15.7?的主要内容,如果未能解决你的问题,请参考以下文章
NSight (NVIDIA) 无法在 Visual Studio 中使用“暂停和捕获帧”功能正常工作
Nvidia Nsight 与 localhost 的连接失败