Title :
General in-situ matrix transposition algorithm for massively parallel environments
Author :
Gorawski, Marcin ; Lorek, Michal
Author_Institution :
Inst. of Comput. Sci., Silesian Univ. of Technol., Gliwice, Poland
Abstract :
Matrix transposition is an essential mathematical operation broadly used in many scientific and engineering domains. In this paper, we present a new approach to the matrix transposition problem in massively parallel computing environments. We propose to utilize recursive functions to translate worker (thread) coordinates on a grid so that they can be used to locate and transpose matrix elements. In principal, it is possible to define a grid of threads in such a way that, based on their uniquely assigned index, we can decompose it using above mentioned functions so that each individual thread can exchange two relevant matrix elements across the main diagonal. Currently, our in-place method can be applied to arbitrary square matrices. In addition, we present a basic implementation of our algorithm for CUDA. Finally, we demonstrate initial performance tests performed on GPU and compare our results with naive versions of the in-place and out-of-place algorithms for CUDA.
Keywords :
matrix algebra; parallel architectures; recursive functions; CUDA; GPU; massively parallel computing environments; matrix transposition algorithm; recursive functions; relevant matrix elements; thread coordinates; uniquely assigned index; worker coordinates; Algorithm design and analysis; Computers; Graphics processing units; Instruction sets; Matrix decomposition; Memory management; Parallel processing; CUDA; Matrix Transposition; Parallel Computing; Recursive Functions;
Conference_Titel :
Data Science and Advanced Analytics (DSAA), 2014 International Conference on
DOI :
10.1109/DSAA.2014.7058100