Emerging new architectures used in High Performance Computing require new research to adapt and optimise algorithms to them. As part of this effort, we propose the new AXC format to improve the performance of the SpMV product for the Intel Xeon Phi coprocessor. The performance of the OpenCL kernel, based on our new format, is compared with three very different and high efficient sparse matrix formats, ie, CSR, ELLR-T, and K1. We perform tests with most of the matrices from the Williams collection used to test SpMV kernels for GPUs architectures in several related works.The numerical results show that the AXC format is more robust to spatial indirections proper of sparse matrices and prefers matrices with low variability amongst their rows' population, very much like matrices originated by FEM codes. The Conjugate Gradient (CG) is implemented in OpenCL using all the formats in this work to expose strengths and weaknesses of the formats in a real application. The CG implementation shows that the AXC has the fastest conversion time and its coherent with the numerical results generated by the SpMV tests, and that the format has a slower memory operations time due to an extra step required by the format and its larger memory footprint.
KEYWORDSconjugate gradient, coprocessor, OpenCL, sparse matrix format, sparse matrix vector product, Xeon Phi
INTRODUCTIONNumerical simulation is an aspect of applied mathematics that allows us to simulate physical phenomena on a computer, by using mathematical models that do an abstract interpretation of the reality. This subject has gained considerable importance in all areas of industrial and science applications due to the progress in computer sciences in the last years. Indeed, emerging new computational architectures has allowed engineers to tackle more complex problems originated from industrial or scientific fields. Most of these problems are fundamentally non-linear 1 ; after being linearised by the use of some linearisation technique (eg, Newton's method), these problems generate linear systems whose coefficient's matrices are sparse and very large. 2 Linear systems whose associated matrix meet this criteria are prohibitive for direct solvers, even with the aid of powerful computational equipment. Instead of using direct solvers, non-stationary iterative solvers are preferred. The Conjugate Gradient (CG) and the Generalised Minimal Residual (GMRES) methods 3,4 are two examples of such iterative methods that have the Sparse Matrix Vector (SpMV) product as one of the most expensive operations within them. Hence, the relevance and the effort devoted to optimise this operation in novel computational architectures is a key task.Bell and Garland 5,6 showed a dependency between the matrix storage format and the kernel used to compute the SpMV product to improve the performance of such operation. Therefore, the format used to store the sparse matrix is a key factor to design a kernel with good performance.Hence, this work focuses in showing and validating our proposal, the AXC format,...