Предупреждение nvprof: путь к библиотекам CUPTI и CUDA Injection не может быть установлен в LD_LIBRARY_PATH

Я получаю сообщение в теме, когда пытаюсь запустить программу, разработанную с помощью OpenACC, через профилировщик nvprof Nvidia, например:

nvprof ./SFS 4

Если я запускаю nvprof с -o [output_file], предупреждающее сообщение не появляется, но выходной файл не создается. Что здесь могло быть не так?

LD_LIBRARY_PATH установлен в моем .bashrc на: /opt/nvidia/hpc_sdk/Linux_x86_64/20.7/cuda/11.0/lib64/, потому что там я нашел эти файлы (в их именах есть cupti и 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 и portland), взяты из последней версии Nvidia HPC-SDK, версии 20.7-0.

Я компилирую свои программы с -acc -Minfo=accel параметрами, не знаю, как мне установить -ta= и нужно ли это вообще?

P.S. Я также не уверен, что при запуске моего кода с nvprof или без него вообще используются графические процессоры, хотя я установил ACC_DEVICE_TYPE на nvidia.

Любой совет будет очень кстати.

Приветствую


person Bojan Niceno    schedule 24.09.2020    source источник


Ответы (1)


Какой 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, которая является версией, которую мы поставляем с NV HPC 20.7 SDK. Как я уже отмечал, в выпуске Nsight-Systems 2020.4 это должно быть исправлено, поэтому для решения этой проблемы нужно будет загрузить и установить 2020.4 или использовать предыдущий выпуск.

https://developer.nvidia.com/nsight-systems.

Кажется, есть временная проблема с загрузкой Nsight-systems, которая, надеюсь, будет исправлена ​​до того, как вы увидите это примечание.

Кроме того, nvprof устаревает, поэтому вам следует подумать о переходе на использование Nsight-systems и Nsight-compute.

https://developer.nvidia.com/blog/migrating-nvidia-nsight-tools-nvvp-nvprof/

person Mat Colgrove    schedule 24.09.2020
comment
Спасибо, Мэт. Тем временем я понял, в чем проблема. Я компилировал и запускал версию кода без директив OpenACC (использовал неправильную ветку), которая, кажется, запутала nvprof (я использовал nvprof, который поставляется с NV HPC 20.7). После запуска nvprof я хотел попробовать NV Visual Profiler . Насколько я понимаю, он поставляется с CUDA Development Toolkit. Я установил версию 11.1, но теперь мои коды больше не работают. Компиляция все еще в порядке, как и раньше, но когда я запускаю, я получаю сообщение: Failing in Thread:0 call to cuInit returned error 804: Other - person Bojan Niceno; 24.09.2020
comment
Код работает без профилировщика? Автор: docs.nvidia.com/cuda/cuda-driver-api/ group__CUDA__TYPES.html ошибка 804 означает, что эта ошибка указывает на то, что система была обновлена ​​для работы с прямой совместимостью, но видимое оборудование, обнаруженное CUDA, не поддерживает эту конфигурацию., что я интерпретирую как означающее, что ваше устройство не может запускать aa Приложение CUDA 11.0 построено на драйвере CUDA 11.1. Хотя я в этом не уверен, так как это не входит в мою компетенцию. Этот документ может быть полезным: docs.nvidia.com/deploy/cuda-compatibility/ index.html - person Mat Colgrove; 24.09.2020
comment
К вашему сведению, я только что протестировал запуск и профилирование некоторого кода в системе, используя драйвер CUDA 11.1 (455.18), и у меня все сработало. Хотя в нем есть Tesla P100 и он безголовый, поэтому я не запускал Visual Profiler. - person Mat Colgrove; 24.09.2020
comment
Привет, Мэт. Я решил проблему из своего первого комментария. После установки CUDA Dev. Toolkit 11.1, мой драйвер Nvidia каким-то образом поврежден, это версия 450.66; Версия CUDA: 11.0. Во всяком случае, удаление CUDA Dev. Toolkit (CUDA 11.1) и переустановка драйвера Nvidia (CUDA 11.0) решили проблему из моего первого комментария (Failing in Thread:0 call to cuInit returned error 804) - person Bojan Niceno; 25.09.2020
comment
И действительно, ваша таблица совместимости оказалась весьма полезной, мой текущий драйвер (последний из доступных для Ubuntu) несовместим с CUDA 11.1. - person Bojan Niceno; 25.09.2020