在Cuda编程指南中,我似乎找不到这个简单问题的答案:使用nvcc编译内核时,short、int、long和long long声明的整数大小是多少?它是否依赖于我的主机架构,因此我应该使用int16_t、int32_t和int64_t,还是它总是固定大小?
这取决于主机编译器。具体来说,nvcc
对这些类型的定义将与主机编译器的表示相符。
实际上,在 CUDA 支持的所有平台上,char
、short
和 int
数据类型的大小都是可预测的(分别为 8、16 和 32 位)。但是,long
的大小因平台而异。