Как запустить отладочную версию проекта в nsight с помощью команды optirun?
Я писал какую-то простую программу cuda (я студент, поэтому мне нужно потренироваться), и дело в том, что я могу скомпилировать ее с помощью nvcc из терминала (используя Kubuntu 12.04LTS), а затем выполнить ее с помощью optirun ./a.out (Hardver GeForce GT 525 м на Dell Inspiron) и все работает отлично. Главная проблема в том, что я ничего не могу сделать из Nsight. Когда я пытаюсь запустить отладочную версию кода, появляется сообщение "Ошибка запуска! Двоичные файлы не найдены!". Я думаю, что это о запуске команды с optirun, но я не уверен. Какие-нибудь подобные события? Спасибо, что помогли заранее, ребята.:)
3 ответа
Поскольку это был первый пост, который я нашел при поиске "nsight optirun", я просто хотел записать шаги, которые я предпринял, чтобы он работал на меня.
Перейдите в Выполнить -> Конфигурации отладки -> Отладчик
Найдите текстовое поле для исполняемого файла CUDA GDB (в моем случае оно было установлено как "${cuda_bin}/cuda-gdb")
Добавьте "optirun --no-xorg", в моем случае это был "optirun --no-xorg ${cuda_bin}/cuda-gdb"
Параметр --no-xorg может не потребоваться или даже привести к обратным результатам, если у вас есть окно OpenGL, так как оно предотвращает появление чего-либо из этого. Однако для моего научного кода это необходимо, так как это мешает мне запустить таймауты ядра.
Удачной охоты на жуков.
- Мы протестировали Nsight на системах Optimus без optirun - см. "Установка набора инструментов cuda" в наборе инструментов CUDA. Начало работы с использованием набора инструментов CUDA в системе Optimus. Мы не пробовали optirun с Nsight EE.
- Если вам все еще нужно использовать optirun для отладки, вы можете попробовать создать сценарий оболочки, который использует optirun для запуска cuda-gdb, и установить этот сценарий оболочки как исполняемый файл cuda-gdb в свойствах конфигурации отладки.
Самое простое, что нужно сделать - запустить eclipse с помощью optirun, который также будет правильно запускать ваше приложение.