Какой размер является целым числом при программировании ядер cuda

Я не могу найти ответ на этот простой вопрос в Руководстве по программированию Cuda: при компиляции ядра с nvcc, какое целое число объявляется коротким, int, long и long long? Это зависит от моей архитектуры хоста, поэтому я должен использовать int16_t, int32_t и int64_t, или это всегда фиксированный размер?

Ответ 1

Это зависит от компилятора хоста. В частности, определение nvcc этих типов согласуется с представлением компилятора хоста.

На практике типы данных char, short и int имеют предсказуемые размеры на всех платформах, поддерживаемых CUDA (соответственно 8, 16 и 32 бит). Однако размер long варьируется от платформы к платформе.