Index Transformation Algorithms in a Linear Algebra Framework

We present a linear algebraic formulation for a class of index transformations such as Gray code encoding and decoding, matrix transpose, bit reversal, vector reversal, shuffles, and other index or dimension permutations. This formulation unifies, simplifies, and can be used to derive algorithms for hypercube multiprocessors. We show how all the widely known properties of Gray codes, and some not so well-known properties as well, can be derived using this framework. Using this framework, we relate hypercube communications algorithms to Gauss-Jordan elimination on a matrix of 0's and 1's. >

[1]  S. Lennart Johnsson,et al.  On the Conversion Between Binary Code and Binary-Reflected Gray Code on Binary Cubes , 1995, IEEE Trans. Computers.

[2]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[3]  S. Lennart Johnsson,et al.  Algorithms for Matrix Transposition on Boolean n-Cube Configured Ensemble Architectures , 1988, ICPP.

[4]  S. Lennart Johnsson,et al.  Communication Efficient Basic Linear Algebra Computations on Hypercube Architectures , 1987, J. Parallel Distributed Comput..

[5]  Lennart Johnsson Optimal Communication in Network Architectures , 1990 .

[6]  Quentin F. Stout,et al.  Intensive Hypercube Communication. Prearranged Communication in Link-Bound Machines , 1990, J. Parallel Distributed Comput..

[7]  Sartaj Sahni,et al.  An optimal routing algorithm for mesh-connected Parallel computers , 1980, JACM.

[8]  R. E. Stearns,et al.  Routing linear permutations through the omega network in two passes , 1988, Proceedings., 2nd Symposium on the Frontiers of Massively Parallel Computation.

[9]  E. Gilbert Gray codes and paths on the N-cube , 1958 .

[10]  S. Lennart Johnsson,et al.  Generalized Shuffle Permutations on Boolean Cubes , 1992, J. Parallel Distributed Comput..

[11]  Marin van Heel A fast algorithm for transposing large multidimensional image data sets , 1991 .

[12]  Peter M. Flanders A Unified Approach to a Class of Data Movements on an Array Processor , 1982, IEEE Transactions on Computers.

[13]  John N. Tsitsiklis,et al.  Optimal Communication Algorithms for Hypercubes , 1991, J. Parallel Distributed Comput..

[14]  Thomas H. Cormen Fast Permuting on Disk Arrays , 1993, J. Parallel Distributed Comput..

[15]  Ching-Tien Ho,et al.  The Complexity of Reshaping Arrays on Boolean Cubes , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[16]  Paul N. Swarztrauber,et al.  Multiprocessor FFTs , 1987, Parallel Comput..

[17]  Sartaj Sahni,et al.  Optimal BPC Permutations on a Cube Connected SIMD Computer , 1982, IEEE Transactions on Computers.

[18]  Alan Edelman,et al.  Optimal Matrix Transposition and Bit Reversal on Hypercubes: All-to-All Personalized Communication , 1991, J. Parallel Distributed Comput..

[19]  Jorge Nuno Silva,et al.  Mathematical Games , 1959, Nature.

[20]  Quentin F. Stout,et al.  Passing messages in link-bound hypercubes , 1986 .

[21]  C. Loan Computational Frameworks for the Fast Fourier Transform , 1992 .

[22]  F. G. Heath Origins of the Binary Code , 1972 .

[23]  C. T. Ho,et al.  On the Conversion Between Binary Code and Binary-Reflected Gray Code on Binary Cubes , 1995, IEEE Trans. Computers.

[24]  Donald Fraser,et al.  Array Permutation by Index-Digit Permutation , 1976, JACM.

[25]  L. Johnsson,et al.  Optimal algorithms for stable dimension permutations on Boolean cubes , 1988, C3P.