Hybrid parallel algorithm of general sparse matrix multiplication - Luo, Haibiao; Wang, Ting; Zhang, Yunquan (Jisuanji Kexue yu Tansuo / Journal of Computer Science and Frontiers, 2013)
Sparse matrix multiplication is widely used in scientific and engineering computations. It is a basic operation in scientific computation, but it faces many difficulties such as large data set, irregular distribution of non-zero values, load unbalancing and irregular distribution of column index of the resulting matrix. This paper optimizes matrix partitioning, data communication, load balancing and parallel sort methods to tackle the above problems. The computing speed of the algorithm improves 56% in average at multithread over commercial software Intel MKL (Intel Math Kernel Library). This paper further develops MPI+OpenMP hybrid parallel algorithm for multiprocess that achieves similar efficiency on shared memory system.