CUDA NSight 7.0 с поддержкой c++11 - где ставить?

наконец, NVIDIA поддерживает в CUDA 7.0 стандарт c++11 даже в коде устройства. Я установил сейчас CUDA NSight 7.0 и, видимо, слишком слеп, чтобы найти опцию, которая активирует c++11. На данный момент мне пришлось переименовать nvcc в nvcc.orig и создать сценарий оболочки nvcc, в котором я вызываю nvcc.orig и предоставляю параметр c++11 со всеми параметрами. Тогда я смогу скомпилировать свой код без проблем.

Но это не может так работать!

Может кто-нибудь сказать мне, где активировать стандарт c++11 в настройках проекта?


person Peter VARGA    schedule 17.01.2015    source источник


Ответы (4)


Не уверен, какую сборку вы имеете в виду о nsight, но вот, возможно, что вам нужно:

  • Визуальная студия Nsight

    • Project' Property Page -> CUDA C/C++ -> Command Line -> Additional Options
    • Добавьте свой флаг поддержки С++ 11: --std=c++11
  • Затмение

    • Project's Properties -> Build -> Settings -> Tool Settings -> NVCC Compiler -> Command line prompt
    • Добавьте свой флаг поддержки С++ 11: --std=c++11

Надеюсь это поможет. Также обратите внимание, что nvcc поддерживает не только C++11 в коде хоста, но и C++ в коде ядра [код устройства], действительно круто~

Спасибо Ан

person Yan An    schedule 19.01.2015
comment
Нет, не помогает! Я получаю эту ошибку при компиляции исходного файла cuda: 4.9.2/include/stddef.h(432): ошибка: идентификатор nullptr не определен - person Peter VARGA; 19.01.2015
comment
В самой последней версии Nsight для этого есть опция: щелкните правой кнопкой мыши проект (не файл!) и выберите «Сборка» > «Настройки» > «Вкладка: Настройки инструмента» > «Компилятор NVCC» > «Генерация кода» > «Включить флажок»: включить поддержку C++ 11. - person dreua; 07.07.2015

Это не сработало для меня.

Свойства проекта -> Сборка -> Настройки -> Настройки инструмента -> Компилятор NVCC -> Запрос командной строки. Добавьте свой флаг поддержки С++ 11: --std=С++ 11

Это сработало для меня

Свойства проекта> Сборка> Настройки> Вкладка: Настройки инструмента> Компилятор NVCC> Генерация кода> Включить флажок: Включить поддержку C++11.

person Siddharth    schedule 08.12.2015

В NSIGHT 8 это работает для GCC, но не для NVCC:

  • Свойства проекта -> Сборка -> Настройки -> Настройки инструмента -> Компилятор GCC C++ -> Запрос командной строки. Добавьте свой флаг поддержки С++ 11: --std=С++ 11
person Wojciech Borkowski    schedule 25.05.2017

Это работает:

Щелкните правой кнопкой мыши имя вашего проекта: выберите «Свойства» -> «Сборка» -> «Настройки» -> «Настройки инструмента» -> «Компилятор NVCC» -> «Генерация кода».

Отметьте указанную ниже опцию: Включить поддержку C++11 (-std=c++11)

person Rabia Khinda    schedule 03.12.2018