1
我有一個在主機和設備代碼上使用的類,以便於數據傳遞。這個類有一些操縱數據的方法。一個簡單的例子是:源文件上的CUDA - __device__方法
struct Vector {
float x, y, z;
__host__ __device__ Vector(float _x, float _y, float _z) {
//...
}
};
如果我實現一個頭文件這個類,它工作正常,NVCC是幸福的。但是,如果我嘗試在源文件上實現構造函數,nvcc會抱怨構造函數不是內聯的。無論如何繞過這個或那只是編譯器的限制?
你試過'__forceinline__'說明嗎?源文件是指.cu文件還是.cpp文件? – geek 2012-07-22 18:47:47
是的,我嘗試過'__forceinline__'。我想要做的是將課程分成源代碼(.cu)和頭文件(.cuh),但NVCC似乎不允許用於設備類。 – 2012-07-24 14:38:53
您使用的是CUDA和CUDA架構的版本? – geek 2012-07-24 18:12:43