这些是从基本整数和浮点类型派生的向量类型。 它们是结构,第一个、第二个、第三个和第四个组件可以分别通过字段 x、y、z 和 w
访问。 它们都带有 make_<type name>
形式的构造函数; 例如,
int2 make_int2(int x, int y);
它创建了一个带有 value(x, y)
的 int2
类型的向量。
向量类型的对齐要求在下表中有详细说明。
Type | Alignment |
---|---|
char1, uchar1 | 1 |
char2, uchar2 | 2 |
char3, uchar3 | 1 |
char4, uchar4 | 4 |
short1, ushort1 | 2 |
short2, ushort2 | 4 |
short3, ushort3 | 2 |
short4, ushort4 | 8 |
int1, uint1 | 4 |
int2, uint2 | 8 |
int3, uint3 | 4 |
int4, uint4 | 16 |
long1, ulong1 | 4 if sizeof(long) is equal to sizeof(int) 8, otherwise |
long2, ulong2 | 8 if sizeof(long) is equal to sizeof(int), 16, otherwise |
long3, ulong3 | 4 if sizeof(long) is equal to sizeof(int), 8, otherwise |
long4, ulong4 | 16 |
longlong1, ulonglong1 | 8 |
longlong2, ulonglong2 | 16 |
longlong3, ulonglong3 | 8 |
longlong4, ulonglong4 | 16 |
float1 | 4 |
float2 | 8 |
float3 | 4 |
float4 | 16 |
double1 | 8 |
double2 | 16 |
double3 | 8 |
double4 | 16 |
此类型是基于 uint3 的整数向量类型,用于指定维度。 定义 dim3 类型的变量时,任何未指定的组件都将初始化为 1。
该变量的类型为 dim3
(请参阅 dim3)并包含网格的尺寸。
该变量是 uint3
类型(请参见 char、short、int、long、longlong、float、double)并包含网格内的块索引。
该变量的类型为 dim3
(请参阅 dim3)并包含块的尺寸。
此变量是 uint3
类型(请参见 char、short、int、long、longlong、float、double )并包含块内的线程索引。
该变量是 int
类型,包含线程中的 warp
大小(有关 warp
的定义,请参见 SIMT Architecture)。