次のように、CUDA の下で C++ に 2 次元配列があり、共有メモリに格納されているとします。
__shared__ float arr[4][4]; // C++ has a default row-major ordering
デフォルトでは、C++ は要素をarr
行優先形式で並べ替えます。
つまり、メモリの連続ブロックを割り当て、(0,0)、(0,1)、(0,2)、(0,3)、(1,0)、(1,1) のような要素を格納します。 )、 ... 等々...
C++/CUDA コンパイラにこれを列優先順に配置するように指示する方法はありますか?