现在我知道存在这样的类型,我知道它们有哪些字段,但我找不到它们的定义。即我找到了:
typedef __device_builtin__ struct uint2 uint2;
但这留下了我完整的所有问题 - 他们的构造者呢?运营商怎么样?等等。
那么,那些类型的定义(真实的)是否在某个地方发布?我不想重新发明轮子,特别是没有优化(开始如何初始化这样的结构)。
答案 0 :(得分:7)
大多数这些载体类型的定义包含在:
中/usr/local/cuda/include/vector_types.h
(假设标准cuda安装路径)。它们中的大多数是结构体,并且不需要特定的运算符定义来操作struct成员,也没有官方的c ++样式构造函数。
您所指的“构造函数”,例如make_int2
是在:
/usr/local/cuda/include/vector_functions.h
同样,它们是在结构成员上运行的普通c样式函数,而不是c ++样式类/结构方法。