cuda-gdb не работает в nsight на linux

Я установил cuda 5 в свой Ubuntu 12.10, и он работает хорошо, я также могу компилировать и отлаживать через cuda-gdb в терминале. Я пытаюсь использовать nsight, он компилирует и выполняет мой код без проблем, но когда я пытаюсь отладить, я получаю следующую ошибку

Error in final launch sequence
Failed to execute MI command:
-gdb-set cuda api_failures ignore
Error message from debugger back end:
Undefined set cuda command: "api_failures ignore".  Try "help set cuda".
Undefined set cuda command: "api_failures ignore".  Try "help set cuda".

Я использую 64-битную версию Ubuntu 12.10 и запускаю исполняемые файлы cuda и nsight с помощью optirun (bumblebee), потому что у меня есть GTX 675M (optimus). Я установил cuda-gdb через apt-get, получил версию 4.2:

frederico@zeus:~/Dropbox/coisas/projetos/delta_cuda$ cuda-gdb --version
NVIDIA (R) CUDA Debugger
4.2 release
Portions Copyright (C) 2007-2012 NVIDIA Corporation
GNU gdb (GDB) 7.2

Я думаю, что это не проблема, так как я могу использовать его в одиночку (без nsight). Я также изменил nsight, чтобы запустить cuda-gdb с optirun, и продолжаю получать ту же ошибку.


person Frederico Schardong    schedule 20.10.2012    source источник


Ответы (3)


Проблема заключалась в версии cuda-gdb, мне пришлось использовать cuda-gdb версии 5. Он поставляется с версией 5 инструментария, просто сделал символическое лизание к /usr/bin, и он работает.

person Frederico Schardong    schedule 21.10.2012
comment
Вы получили это сообщение, потому что Nsight попытался запустить одну из новых команд cuda-gdb, которая появилась только в CUDA 5.0. - person Eugene; 22.10.2012
comment
Ваше решение работает, но его сложно настроить в многопользовательской системе, в которой вы не являетесь администратором. В большинстве случаев системные администраторы не захотят добавлять ссылки на /opt в /usr/bin... - person jopasserat; 18.12.2012

Возможна отладка программ CUDA с помощью nsight и bumblebee. (nsight v.5.0.0, шмель 3.2.1, Debian sid)

Вам просто нужно заменить командную строку отладчика (Исполняемый файл CUDA GDB) в: Project Explorer -> щелкните правой кнопкой мыши проект -> выберите "Отладить как" -> нажмите "Отладить конфигурации". .." -> выберите вкладку "Отладчик"

Исполняемый файл CUDA GDB: optirun --no-xorg cuda-gdb (другая возможность — создать небольшой сценарий оболочки, подобный следующему: /usr/bin/opti-cuda-gdb)

#!/bin/bash
optirun --no-xorg /usr/bin/cuda-gdb $*

Таким образом, optirun не запускает виртуальный экран для gdb, GPU не принимает графику и возможна отладка.

Надеюсь, это поможет!

person trueno    schedule 26.10.2013

Нет необходимости создавать эту ссылку.

Вы можете выбрать исполняемый файл cuda-gdb, используемый nsight, в меню Запустить/отладить конфигурации.... В этом меню щелкните свое приложение в разделе Приложение C/C++, затем выберите вкладку Отладчик, где вы можете просмотреть свою файловую систему и указать путь к cuda-gdb-5.0. исполняемый.

person jopasserat    schedule 18.12.2012
comment
Это будет работать. Однако установить это для всех пользователей, для меня большая проблема, чем объяснить ситуацию администратору - person Frederico Schardong; 23.12.2012
comment
Я снова не согласен. Потому что, если каждый пользователь использует cuda-gdb-5.0, то он должен быть установлен в местоположении по умолчанию, или пользователь PATH должен быть обновлен в соответствии с местоположением. Тем не менее, наслаждайтесь cuda-gdb :) - person jopasserat; 24.12.2012