An Optimal Index Reshuffle Algorithm for Multidimensional Arrays and Its Applications for Parallel Architectures

  • Authors:
  • Chris H. Q. Ding

  • Affiliations:
  • Univ. of California, Berkeley, CA

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.