DocumentCode
1546133
Title
An efficient parallel-processing method for transposing large matrices in place
Author
Portnoff, Michael R.
Author_Institution
Lawrence Livermore Nat. Lab., CA, USA
Volume
8
Issue
9
fYear
1999
fDate
9/1/1999 12:00:00 AM
Firstpage
1265
Lastpage
1275
Abstract
We have developed an efficient algorithm for transposing large matrices in place. The algorithm is efficient because data are accessed either sequentially in blocks or randomly within blocks small enough to fit in cache, and because the same indexing calculations are shared among identical procedures operating on independent subsets of the data. This inherent parallelism makes the method well suited for a multiprocessor computing environment. The algorithm is easy to implement because the same two procedures are applied to the data in various groupings to carry out the complete transpose operation. Using only a single processor, we have demonstrated nearly an order of magnitude increase in speed over the previously published algorithm by Gate and Twigg (1977) for transposing a large rectangular matrix in place. With multiple processors operating in parallel, the processing speed increases almost linearly with the number of processors. A simplified version of the algorithm for square matrices is presented as well as an extension for matrices large enough to require virtual memory
Keywords
C listings; matrix algebra; multiprocessing systems; parallel algorithms; cache; efficient parallel-processing method; indexing calculations; large matrices transposition; large rectangular matrix; multiprocessor computing; parallelism; processing speed; transpose operation; virtual memory; Computer architecture; Concurrent computing; Displays; Image processing; Indexing; Matrix converters; Parallel processing; Random access memory; Read-write memory; Remote sensing;
fLanguage
English
Journal_Title
Image Processing, IEEE Transactions on
Publisher
ieee
ISSN
1057-7149
Type
jour
DOI
10.1109/83.784438
Filename
784438
Link To Document