我正在尝试扩展CUDA的向量支持,例如,覆盖向量结构中的运算符。我可以通过修改默认的vector_types.h文件来实现。但是,在我没有权限修改它的多用户环境中,这是不可能的。
因此,我决定创建一个新的vector_types.h并且不包含原始的vector_types.h。但似乎nvcc自动包含此文件,即使我不在我的代码中包含它。所以我的问题是,无论如何都要改变nvcc的这种行为?
任何帮助都将不胜感激。
由于
答案 0 :(得分:1)
您可以创建单独的标头文件,并在其中包含vector_types.h
:
// vector_types_ext.h
#include <vector_types.h>
__device__ float4 operator +(float4 a, float4 b)
{
// ...
}