{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,21]],"date-time":"2026-08-21T16:33:08Z","timestamp":1787329988081,"version":"build-2736575974"},"reference-count":31,"publisher":"Society for Industrial & Applied Mathematics (SIAM)","issue":"3","funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["SI2-SSE 1147337"],"award-info":[{"award-number":["SI2-SSE 1147337"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["SIAM J. Sci. Comput."],"published-print":{"date-parts":[[2017,1]]},"abstract":"<jats:p>We discuss an approach for solving sparse or dense banded linear systems $Ax = b$ on a graphics processing unit (GPU) card. The matrix ${A} \\in {\\mathbb{R}}^{N \\times N}$ is possibly nonsymmetric and moderately large, i.e., ${10,000}{} \\leq N \\leq {500,000}{}$. The split and parallelize (SaP) approach seeks to partition the matrix $A$ into diagonal subblocks $A_i$, $i=1,\\ldots,P$, which are independently factored in parallel. The solution may choose to consider or to ignore the matrices that couple the diagonal subblocks $A_i$. This approach, along with the Krylov-subspace-based iterative method that it preconditions, are implemented in a solver called SaP::GPU, which is compared in terms of efficiency with three commonly used sparse direct solvers: PARDISO, SuperLU, and MUMPS. SaP::GPU, which runs entirely on the GPU except for several stages involved in preliminary row and column permutations, is robust and compares well in terms of efficiency with the aforementioned direct solvers. In a comparison against Intel's MKL, SaP::GPU also fared well when used to solve dense banded systems that are close to being diagonally dominant. SaP::GPU is publicly available and distributed as open source under a permissive BSD-3 license.<\/jats:p>","DOI":"10.1137\/15m1039523","type":"journal-article","created":{"date-parts":[[2017,5,25]],"date-time":"2017-05-25T15:15:01Z","timestamp":1495725301000},"page":"C215-C237","source":"Crossref","is-referenced-by-count":6,"title":["Analysis of a Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards"],"prefix":"10.1137","volume":"39","author":[{"given":"Ang","family":"Li","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Radu","family":"Serban","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dan","family":"Negrut","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"351","published-online":{"date-parts":[[2017,5,25]]},"reference":[{"key":"atypb1","volume-title":"http:\/\/www.nvidia.com\/content\/tesla\/pdf\/Tesla-KSeries-Overview-LR.pdf","author":"Tesla NVIDIA","year":"2012"},{"key":"atypb2","volume-title":"http:\/\/www.nvidia.com\/content\/PDF\/kepler\/Tesla-K20-Passive-BD-06455-001-v05.pdf","author":"Accelerator Tesla","year":"2012"},{"key":"atypb3","doi-asserted-by":"publisher","DOI":"10.1016\/S0045-7825(99)00242-X"},{"key":"atypb4","unstructured":"N. Bell and M. Garland,\n                      Cusp: Generic parallel algorithms for sparse matrix and graph computations\n                      , Version 0.3.0,http:\/\/cusplibrary.github.io, (2012)."},{"key":"atypb5","first-page":"359","volume":"2","author":"Bell N.","year":"2011","journal-title":"GPU Comput. Gems Jade Edition"},{"key":"atypb6","doi-asserted-by":"publisher","DOI":"10.1145\/800195.805928"},{"key":"atypb7","volume-title":"Lawrence Berkeley National Laboratory","author":"Demmel J. W.","year":"2011"},{"key":"atypb8","doi-asserted-by":"publisher","DOI":"10.1007\/s101070100263"},{"key":"atypb9","doi-asserted-by":"publisher","DOI":"10.1137\/S0895479897317661"},{"key":"atypb10","doi-asserted-by":"publisher","DOI":"10.1137\/S0895479899358443"},{"key":"atypb11","volume-title":"Matrix Computations","author":"Golub G. H.","year":"1980"},{"key":"atypb12","volume-title":"DTIC","author":"Hopper M.","year":"1973"},{"key":"atypb13","unstructured":"A. Li, O. Deshmukh, R. Serban, and D. Negrut,\n                      A Comparison of the Performance of SaP:GPU and Intel's Math Kernel Library for Solving Dense Banded Linear Systems\n                      , Tech. Report TR-2012-07, SBEL, University of Wisconsin-Madison, 2014,http:\/\/sbel.wisc.edu\/documents\/TR-2014-07.pdf."},{"key":"atypb14","unstructured":"A. Li, H. Mazhar, R. Serban, and D. Negrut,\n                      Comparison of SPMV Performance on Matrices with Different Matrix Format Using CUSP, cuSPARSE and ViennaCL\n                      , Tech. Report TR-2015-02, SBEL, University of Wisconsin-Madison, 2015,http:\/\/sbel.wisc.edu\/documents\/TR-2015-02.pdf."},{"key":"atypb15","unstructured":"A. Li, R. Serban, and D. Negrut,\n                      A Hybrid GPU-CPU Parallel CM Reordering Algorithm for Bandwidth Reduction of Large Sparse Matrices\n                      , Tech. Report TR-2014-12, SBEL, University of Wisconsin-Madison, 2014,http:\/\/sbel.wisc.edu\/documents\/TR-2014-12.pdf."},{"key":"atypb16","unstructured":"A. Li, R. Serban, and D. Negrut,\n                      An Implementation of a Reordering Approach for Increasing the Product of Diagonal Entries in a Sparse Matrix\n                      , Tech. Report TR-2014-01, SBEL, University of Wisconsin-Madison, 2014,http:\/\/sbel.wisc.edu\/documents\/TR-2014-01.pdf."},{"key":"atypb17","unstructured":"A. Li, R. Serban, and D. Negrut,\n                      Analysis of A Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards\n                      , Tech. Report TR-2015-12, SBEL, University of Wisconsin-Madison, 2015,http:\/\/sbel.wisc.edu\/documents\/TR-2015-12.pdf."},{"key":"atypb19","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03869-3_74"},{"key":"atypb20","doi-asserted-by":"publisher","DOI":"10.1016\/j.cma.2017.03.010"},{"key":"atypb21","doi-asserted-by":"publisher","DOI":"10.1137\/080719571"},{"key":"atypb22","unstructured":"NVIDIA,\n                      CUDA Programming Guide\n                      ,http:\/\/docs.nvidia.com\/cuda\/cuda-c-programming-guide\/index.html(2015)."},{"key":"atypb23","volume-title":"cuSOLVER, https:\/\/developer.nvidia.com\/cusolver","author":"NVIDIA","year":"2015"},{"key":"atypb24","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2005.07.005"},{"key":"atypb25","doi-asserted-by":"publisher","DOI":"10.1016\/j.compfluid.2005.07.005"},{"key":"atypb26","volume-title":"Khronos OpenCL Working Group","author":"Specification The","year":"2008"},{"key":"atypb27","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718003"},{"key":"atypb28","doi-asserted-by":"publisher","DOI":"10.1145\/322047.322054"},{"key":"atypb29","volume-title":"http:\/\/sbel.wisc.edu\/documents\/testSparseMatricesSaP.zip","author":"Sparse Matrices","year":"2015"},{"key":"atypb32","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2003.07.011"},{"key":"atypb33","doi-asserted-by":"publisher","DOI":"10.1002\/nme.4876"},{"key":"atypb34","first-page":"11","volume":"1","author":"Sleijpen G.","year":"1993","journal-title":"Electron. Trans. Number. Anal."}],"container-title":["SIAM Journal on Scientific Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/epubs.siam.org\/doi\/pdf\/10.1137\/15M1039523","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,21]],"date-time":"2026-08-21T15:42:41Z","timestamp":1787326961000},"score":1,"resource":{"primary":{"URL":"https:\/\/epubs.siam.org\/doi\/10.1137\/15M1039523"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,1]]},"references-count":31,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2017,1]]}},"alternative-id":["10.1137\/15M1039523"],"URL":"https:\/\/doi.org\/10.1137\/15m1039523","relation":{},"ISSN":["1064-8275","1095-7197"],"issn-type":[{"value":"1064-8275","type":"print"},{"value":"1095-7197","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,1]]}}}