还是需要512BYTES才能对齐
其实fermi上实际上无法说global memory的对齐要求是什么了。因为fermi上我们总是和L1 data cache和l2 unified cache打交道,而不能直接和global memory了。
在正常的情况下,(L1–L2–Global memory), 是需要对齐到128B的。否则可能会导致额外的一次L1传输。
在bypass L1 cache的情况下,只需要对齐到32B即可。不对齐到32B, 最多可能会导致一次额外的32B传输。
至于512B的对齐要求。。。这个我不知道原因。。我猜测是楼主有别的数据来源,或者别的理由,但是我不知道。
512B似乎是来自于CUDAmalloc等API申请到的地址的对齐方式?