Как смотреть ссылочные переменные с помощью отладчика CUDA Parallel NSight?

Я могу правильно наблюдать за любой переменной или указателем, но не могу этого сделать для ссылочных переменных при отладке с помощью NSight. Я уже пытался преобразовать ссылку на указатель в часах или в непосредственных окнах, но безрезультатно. Я не хочу переписывать свой код с помощью указателей. Я использую Visual Studio 2010 SP1 на 64-битной машине Windows 7, CUDA 4.0, Parallel NSight 2.0, и мой код компилируется для Win32.

Пример: __ device__ void function (int & параметр)

Невозможно отладить параметр. Это недоступно для отладчика.


person dsilva.vinicius    schedule 23.07.2012    source источник
comment
Вы имеете в виду ссылку на C ++?   -  person sj755    schedule 24.07.2012
comment
да. Пример: __ device __ void function (int & parameter). Невозможно отладить параметр.   -  person dsilva.vinicius    schedule 24.07.2012


Ответы (2)


Я воспроизвел проблему на своей машине. 64-разрядная версия Windows 7, Visual Studio 2010, CUDA 4.1.

Не могу отладить:

__device__ int myfunc(int& myint)
{
  return myint * 5;
}

Я могу установить точку останова в строке с помощью return, но я не могу просмотреть переменную, потому что она была передана по ссылке.

Если я изменю его на:

__device__ int myfunc(int& myint)
{
  int debug(myint);
  return debug * 5;
}

Я могу просмотреть переменную debug.

Я думаю, вам следует сообщить об ошибке в NVIDIA. Я не знаю, достаточно ли восстановилась их система для этого.

person Roger Dahl    schedule 24.07.2012
comment
Я все еще не могу наблюдать за переменной этим методом. - person dsilva.vinicius; 24.07.2012
comment
Вы используете переменную debug? К сожалению, недостаточно скопировать в него переменную, переданную по ссылке. Итак, второй пример - это debug * 5, а не myint * 5. - person Roger Dahl; 24.07.2012
comment
Спасибо за ответ. Я обновился до Nsight 2.2, CUDA 4.2 и драйвера Dev 301.32, и это помогло. - person dsilva.vinicius; 25.07.2012

Обновлен до Nsight 2.2, CUDA 4.2 и драйвера Dev 301.32, и это помогло.

person dsilva.vinicius    schedule 24.07.2012