Какой размер является целым числом при программировании ядер cuda
Я не могу найти ответ на этот простой вопрос в Руководстве по программированию Cuda: при компиляции ядра с nvcc, какое целое число объявляется коротким, int, long и long long? Это зависит от моей архитектуры хоста, поэтому я должен использовать int16_t, int32_t и int64_t, или это всегда фиксированный размер?
Ответы
Ответ 1
Это зависит от компилятора хоста. В частности, определение nvcc
этих типов согласуется с представлением компилятора хоста.
На практике типы данных char
, short
и int
имеют предсказуемые размеры на всех платформах, поддерживаемых CUDA (соответственно 8, 16 и 32 бит). Однако размер long
варьируется от платформы к платформе.