A split execution model for SpTRSV
dc.authorid | Buse Yılmaz / 0000-0001-5529-7188 | |
dc.authorscopusid | Buse Yılmaz / 36959745100 | |
dc.authorwosid | Buse Yılmaz / AAG-3125-2021 | |
dc.contributor.author | Ahmad, Najeeb | |
dc.contributor.author | Yılmaz, Buse | |
dc.contributor.author | Unat, Didem | |
dc.date.accessioned | 2021-05-10T12:24:15Z | |
dc.date.available | 2021-05-10T12:24:15Z | |
dc.date.issued | 2021 | en_US |
dc.department | İstinye Üniversitesi, Mühendislik ve Doğa Bilimleri Fakültesi, Yazılım Mühendisliği Bölümü | en_US |
dc.description.abstract | Sparse Triangular Solve (SpTRSV) is an important and extensively used kernel in scientific computing. Parallelism within SpTRSV depends upon matrix sparsity pattern and, in many cases, is non-uniform from one computational step to the next. In cases where the SpTRSV computational steps have contrasting parallelism characteristics some steps are more parallel, others more sequential in nature, the performance of an SpTRSV algorithm may be limited by the contrasting parallelism characteristics. In this work, we propose a split-execution model for SpTRSV to automatically divide SpTRSV computation into two sub-SpTRSV systems and an SpMV, such that one of the sub-SpTRSVs has more parallelism than the other. Each sub-SpTRSV is then computed by using a different SpTRSV algorithm and possibly executes on a different platform (CPU or GPU). By analyzing the SpTRSV Directed Acyclic Graph (DAG) and matrix sparsity features, we use a heuristics-based approach to (i) automatically determine suitability of an SpTRSV for split-execution, (ii) find the appropriate split-point, and (iii) execute SpTRSV in a split fashion using two SpTRSV algorithms while managing any required inter-platform communication. Experimental evaluation of the execution model on two CPU-GPU machines with matrix dataset of 327 matrices from the SuiteSparse Matrix Collection shows that our approach correctly selects the fastest SpTRSV method (split or unsplit) for 88% of matrices on the Intel Xeon Gold (6148) + NVIDIA Tesla V100 and 83% on the Intel Core I7 + NVIDIA G1080 Ti platform achieving speedups in the range of 1.01 10 and 1.03 6.36, respectively. IEEE | en_US |
dc.identifier.citation | Ahmad, N., Ylmaz, B., & Unat, D. (2021). A Split Execution Model for SpTRSV. IEEE Transactions on Parallel and Distributed Systems. | en_US |
dc.identifier.doi | 10.1109/TPDS.2021.3074501 | en_US |
dc.identifier.issn | 1045-9219 | en_US |
dc.identifier.scopus | 2-s2.0-85104653673 | en_US |
dc.identifier.scopusquality | Q1 | en_US |
dc.identifier.uri | https://www.doi.org/10.1109/TPDS.2021.3074501 | |
dc.identifier.uri | https://hdl.handle.net/20.500.12713/1730 | |
dc.identifier.wos | WOS:000655244100005 | en_US |
dc.identifier.wosquality | Q2 | en_US |
dc.indekslendigikaynak | Web of Science | en_US |
dc.indekslendigikaynak | Scopus | en_US |
dc.institutionauthor | Yılmaz, Buse | |
dc.language.iso | en | en_US |
dc.publisher | IEEE Computer Society | en_US |
dc.relation.ispartof | IEEE Transactions on Parallel and Distributed Systems | en_US |
dc.relation.publicationcategory | Makale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanı | en_US |
dc.rights | info:eu-repo/semantics/closedAccess | en_US |
dc.subject | Computational Modeling | en_US |
dc.subject | CPU-GPU Computing | en_US |
dc.subject | Fats | en_US |
dc.subject | Graphics Processing Units | en_US |
dc.subject | Heterogeneous Computing | en_US |
dc.subject | Kernel | en_US |
dc.subject | Parallel Algorithms | en_US |
dc.subject | Phased Arrays | en_US |
dc.subject | Sparse Linear Systems | en_US |
dc.subject | Sparse Matrices | en_US |
dc.subject | Sparse Triangular Solve | en_US |
dc.subject | SpTRSV | en_US |
dc.subject | SpTS | en_US |
dc.title | A split execution model for SpTRSV | en_US |
dc.type | Article | en_US |