A multi-GPU parallel optimization model for the preconditioned conjugate gradient algorithm - Gao, Jiaquan; Zhou, Yuanshen; He, Guixia; Xia, Yifei (Parallel computing, 2017)
•An adaptive optimization model for the PCG algorithm on multiple GPUs is proposed.•A performance estimation method is proposed to accurately estimate the execution time of SpMV kernels.•The vector-operation and inner-product decision trees can be automatically constructed. In this study, we present a novel optimization model that can automatically and rapidly generate an optimally parallel preconditioned conjugate gradient (PCG) algorithm for any given linear system on a specific multi-graphics processing unit (GPU) platform. For our proposed model, there are the following novelties: (1) a profile-based performance model for each one of the main components of the PCG algorithm, including the vector operation, inner product, and sparse matrix-vector multiplication (SpMV), is suggested, and (2) our model is general, independent of the problems, and only dependent on the resources of devices, and (3) our model is extensible. For a vector operation kernel, or inner product kernel, or SpMV kernel that is not included in our framework, once its performance model is successfully constructed, it can be incorporated into our framework. Our model is constructed only once for each type of GPU. The experiments validate the high efficiency of our proposed model.