Latin cubes and parallel array access
Cong Fan, Ajay Kumar Gupta, Jiuquang Liu · 2002
The problem of efficiently storing a d-dimensional array into multiple memory modules of a shared memory machine is an important problem in parallel processing. We consider the problem for the three-dimensional arrays. More specifically, given an array A of size n/spl times/n/spl times/n and a shared memory machine with n memory modules, we show how to store A so that no two elements within any row, any column, any diagonal of a face of A and main sub-arrays of A are stored in the same memory module. The scheme thus achieves no memory conflicts when the processors of the shared memory machine simultaneously access elements within a row, column, sub-array. etc. We also show how to store A efficiently, if diagonals of A are required to be accessed conflict-free in addition to rows and columns. All of the schemes use latin cubes.>