An Optimal Index Reshuffle Algorithm for Multidimensional Arrays and Its Applications for Parallel Architectures
Issue No. 03 - March (2001 vol. 12)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.914776
<p><b>Abstract</b>—Reshuffling elements of a multidimensional array according to an index operation traditionally requires an auxiliary buffer of the same size as the original array. Here, we describe a new in-place algorithm using vacancy tracking cycles with minimum memory access which eliminates the buffer array and the related copy-back, speeding up the reshuffle significantly for large arrays. The algorithm can be parallelized using a multithread approach on shared-memory multiprocessor computers. On distributed-memory multiprocessor computers, the index reshuffle of distributed multidimensional arrays amounts to a remapping of processor domains and is carried out using the in-place local algorithm combined with a global exchange algorithm. Implementation and test results on CRAY T3E and IBM SP indicate the effectiveness of the algorithm.</p>
multidimensional arrays, index reshuffle, vacancy tracking cycles, global exchange, dynamic remapping.
Chris H.Q. Ding, "An Optimal Index Reshuffle Algorithm for Multidimensional Arrays and Its Applications for Parallel Architectures", IEEE Transactions on Parallel & Distributed Systems, vol. 12, no. , pp. 306-315, March 2001, doi:10.1109/71.914776