当我试图通过Nvidia的nvprof
探查器运行我用OpenACC开发的程序时,我在主题中得到了这样的消息:
nvprof ./SFS 4
如果使用-o [output_file]
运行nvprof
,则不会出现警告消息,但不会创建输出文件。这里可能出了什么问题?
LD_LIBRARY_PATH
在我的.bashrc
中设置为:/opt/nvidia/hpc_sdk/Linux_x86_64/20.7/cuda/11.0/lib64/
,因为我在那里找到了这些文件(它们的名称中有"cupti"one_answers"inj",我认为它们是必需的(:
lrwxrwxrwx 1 root root 19 Aug 4 05:27 libaccinj64.so -> libaccinj64.so.11.0
lrwxrwxrwx 1 root root 23 Aug 4 05:27 libaccinj64.so.11.0 -> libaccinj64.so.11.0.194
...
lrwxrwxrwx 1 root root 16 Aug 4 05:27 libcupti.so -> libcupti.so.11.0
lrwxrwxrwx 1 root root 20 Aug 4 05:27 libcupti.so.11.0 -> libcupti.so.2020.1.0
...
我在Ubuntu 18.04上。配备Nvidia GeForce RTX 2070的工作站,并安装了CUDA版本11。
nvidia-smi
命令给我的是:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66 Driver Version: 450.66 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 2070 Off | 00000000:02:00.0 On | N/A |
| 30% 40C P2 58W / 185W | 693MiB / 7981MiB | 3% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
我拥有的编译器(nvidia和波特兰(来自最新的nvidia HPC-SDK,版本20.7-0
我用-acc -Minfo=accel
选项编译程序,不确定如何设置-ta=
,以及是否需要它?
附言:我也不确定在有或没有nvprof
的情况下运行我的代码是否使用GPU,尽管我确实将ACC_DEVICE_TYPE
设置为nvidia
。
欢迎提出任何建议。
干杯
您正在使用哪个nvprof?NV HPC 20.7附带的还是您自己安装的?
这看起来与昨天NVIDIA DevTalk用户论坛上报道的一个问题非常相似:
https://forums.developer.nvidia.com/t/new-20-7-version-where-is-the-detail-release-bugfix/146168/4
诚然,这是针对Nsight系统的,但可能也是同样的问题。2020.3版本的profiler似乎有问题,这是我们随NV HPC 20.7 SDK一起提供的版本。正如我所注意到的,Nsight Systems 2020.4版本应该已经修复了这一问题,因此解决办法是下载并安装2020.4或使用之前的版本。
https://developer.nvidia.com/nsight-systems
Nsight系统的下载似乎确实有一个暂时的问题,希望在您看到本说明之前能够得到纠正。
此外,nvprof正在被弃用,因此您应该考虑改用Nsight系统和Nsight计算。
https://developer.nvidia.com/blog/migrating-nvidia-nsight-tools-nvvp-nvprof/