编程cuda内核时的整数大小

Joh*_*don 15 cuda

我似乎无法在Cuda编程指南中找到这个简单问题的答案:用nvcc编译内核时,short,int,long和long long声明了什么大小的整数?它是否依赖于我的主机架构,所以我应该使用int16_t,int32_t和int64_t,还是总是固定大小?

wnb*_*ell 11

这取决于主机编译器.具体来说,nvcc这些类型的定义将与主编译器的表示一致.

在实践中,char,short,和int数据类型对所有平台,CUDA支撑件(8,16和32位分别地)预测的大小.然而,尺寸long因平台而异.

  • 是的,设备数据类型必须与主机类型匹配,否则无法预测要对主机执行多少memcpy. (3认同)