Установка 32-битного размера адреса во встроенном PTX - PullRequest
1 голос
/ 31 марта 2012

Я занимаюсь преобразованием PTX, записанного в виде отдельного файла, во встроенный PTX. В отдельном файле PTX я определял ISA и цель следующим образом:

.version 1.2
.target sm_13

В файле PTX, созданном компилятором, после добавления PTX компилятор указал ISA и цель следующим образом:

.version 3.0
.target sm_20
.address_size 64

.address_size 64 проблематичен для меня, потому что это означает, что мне придется обновить арифметику указателя, которую я делаю во встроенном PTX, с 32-битного до 64-битного.

Учитывая, что 32 бита могут адресовать 4 ГБ, больше памяти, чем у моей карты, возможно ли заставить компилятор указать размер 32-битного адреса, чтобы мне не приходилось обновлять арифметику указателей?

Поддерживаются ли 32-разрядные адреса на sm_20 с учетом новой унифицированной системы адресации?

1 Ответ

2 голосов
/ 22 января 2013

64-битная версия компилятора NVCC по умолчанию создает 64-битный PTX. Если вы попытаетесь передать -m32 в nvcc в качестве параметра командной строки, он сгенерирует 32-битные указатели. Опция описана в документации NVCC:

http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#options-for-guiding-compiler-driver

...