要充分利用使用 sm_21 架构的支持 CUDA 的 GPU,需要使用向量数据类型(如 uint2)编写内核。
想象一下内核中的一行如下所示:
uint2 a = make_uint2 (123);
这工作正常。值 123 存储到 ax 和 ay 但读取写入很烦人,尤其是当您必须编写大型代码块并初始化大量变量时。
我习惯于编写纯 C 代码,所以我不是 C++ 极客。也许我正在寻找的东西很简单。
我知道有可能“重载”一个操作员。我的问题是:是否也可以重载赋值运算符?
我试过这个:
inline __device__ uint2 operator = (int a)
{
return make_uint2 (a, a);
}
但它失败并显示错误消息:
错误:“operator=”必须是成员函数
任何人?