在閱讀了高性能運算之CUDA之後
在書中看到一個struct為
struct type{
float x, y, z;
};
這個結構看得出來
可以解決訪問衝突在half-warp訪問資料的時候
不過另一個問題是
如果我的struct很大的時候
例如
struct type{
float a, b, c, d, e, f;
};
照上面的方法推了一下
存取a時就會造成2-way訪問衝突了
請問這個時候
有沒有更好的方法解決
例如怎麼分配struct或者是對齊資料之類的
另外再提出一個問題
就是__align(x)__
這個x最大能到多少?
在global memory中可以使struct對齊
在share memory中也可以對齊嗎?