__align__用法

struct align(128) TestStruct{
int t1[25], t2[35];
};
如上编译出错:
Error 80 error C2059: syntax error : ‘constant’

(1)楼主需要扩展名为.cu, 并配置类型为CUDA C/C++, 方可使用__align__。

(2)如果只是需要在host compiler里面(例如VC)使用,请考虑它们的自带的对齐语句(例如VC的__declspec(align(n))。

(3)如果依然想使用__align__, 同时只作为host code编译,请依然#include “cuda_runtime.h”。这样也行。

我在.CU里面写的函数,然后include".h"。
这个定义在.h里面。

我把这个定义放在.CU里面就没错了,但是放在.h里面就是那个错误。
有什么办法吗?定义一定要放在.cu里面吗?
OK了,我在.h里面加了#include "cuda_runtime.h"就好了。
我的.cu文件 include这个.h,这个.h又#include “cuda_runtime.h”,这个逻辑正确吗?

不用".h"而使用".cuh"能解决您的问题么?

哦,我知道了。是我增加了一个.CPP文件弄的。
那个.CPP文件和.CU文件同时include这个.h了。

请直接使用2楼的3种方式之一。不按照建议而采取的其他行为,不鼓励。

如果有按照3种中任意1种建议做了,但却失败的,那请立刻回复。

祝楼主写作愉快!