{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,23]],"date-time":"2026-03-23T23:09:55Z","timestamp":1774307395245,"version":"3.50.1"},"reference-count":60,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,8,9]],"date-time":"2018-08-09T00:00:00Z","timestamp":1533772800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["61521092, 91430218, 31327901, 61472395, and 61432018"],"award-info":[{"award-number":["61521092, 91430218, 31327901, 61472395, and 61432018"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"National Key Research and Development Program of China","award":["2016YFB0201305, 2016YFB0200504, 2017YFB0202105, 2016YFB0200803 and 2016YFB0200300"],"award-info":[{"award-number":["2016YFB0201305, 2016YFB0200504, 2017YFB0202105, 2016YFB0200803 and 2016YFB0200300"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2018,12,31]]},"abstract":"<jats:p>Sparse matrix vector multiplication (SpMV) is an important computational kernel in traditional high-performance computing and emerging data-intensive applications. Previous SpMV libraries are optimized by either application-specific or architecture-specific approaches but present difficulties for use in real applications. In this work, we develop an auto-tuning system (SMATER) to bridge the gap between specific optimizations and general-purpose use. SMATER provides programmers a unified interface based on the compressed sparse row (CSR) sparse matrix format by implicitly choosing the best format and fastest implementation for any input sparse matrix during runtime. SMATER leverages a machine-learning model and retargetable back-end library to quickly predict the optimal combination. Performance parameters are extracted from 2,386 matrices in the SuiteSparse matrix collection. The experiments show that SMATER achieves good performance (up to 10 times that of the Intel Math Kernel Library (MKL) on Intel E5-2680 v3) while being portable on state-of-the-art x86 multicore processors, NVIDIA GPUs, and Intel Xeon Phi accelerators. Compared with the Intel MKL library, SMATER runs faster by more than 2.5 times on average. We further demonstrate its adaptivity in an algebraic multigrid solver from the Hypre library and report greater than 20% performance improvement.<\/jats:p>","DOI":"10.1145\/3218823","type":"journal-article","created":{"date-parts":[[2018,8,13]],"date-time":"2018-08-13T12:29:41Z","timestamp":1534163381000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":28,"title":["Design and Implementation of Adaptive SpMV Library for Multicore and Many-Core Architecture"],"prefix":"10.1145","volume":"44","author":[{"given":"Guangming","family":"Tan","sequence":"first","affiliation":[{"name":"State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences, University of Chinese Academy of Sciences, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Junhong","family":"Liu","sequence":"additional","affiliation":[{"name":"State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences, University of Chinese Academy of Sciences, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jiajia","family":"Li","sequence":"additional","affiliation":[{"name":"Computational Science and Engineering, Georgia Institute of Technology, North Avenue, Atlanta, GA, US"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,8,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"RuleQuest Research. 2012. Data Mining Tools See5 and C5.0. Retrieved from http:\/\/www.rulequest.com\/see5-info.html.  RuleQuest Research. 2012. Data Mining Tools See5 and C5.0. Retrieved from http:\/\/www.rulequest.com\/see5-info.html."},{"key":"e_1_2_1_2_1","unstructured":"Intel. 2017. Intel Math Kernel Library. Retrieved from http:\/\/software.intel.com\/en-us\/intel-mkl.  Intel. 2017. Intel Math Kernel Library. Retrieved from http:\/\/software.intel.com\/en-us\/intel-mkl."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542481"},{"key":"e_1_2_1_5_1","volume-title":"Implementing a Sparse Matrix Vector Product for the SELL-C\/SELL-C-&sigma","author":"Anzt Hartwig"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 2008 IEEE International Conference on Cluster Computing. 411--420","author":"Armstrong Warren"},{"key":"e_1_2_1_7_1","volume-title":"2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS\u201917)","author":"Beamer S."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654119"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/297805.297827"},{"key":"e_1_2_1_11_1","volume-title":"Barry F. Smith, and Hong Zhang.","author":"Brown Jed","year":"2012"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2011.73"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2925426.2926278"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1837853.1693471"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2049662.2049663"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2006.105"},{"key":"e_1_2_1_17_1","volume-title":"Falgout and Ulrike Meier Yang","author":"Robert","year":"2002"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3017994"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840301"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1964179.1964196"},{"key":"e_1_2_1_21_1","volume-title":"Yelick","author":"Byun Jong-Ho","year":"2012"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1089014.1089021"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3079079.3079105"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342004041296"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1029\/2001GL013552"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1941553.1941587"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1137\/130930352"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807671"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2017.80"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462181"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 32nd ACM International Conference on Supercomputing (ICS\u201918)","author":"Liu Changxi","year":"2018"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178529"},{"key":"e_1_2_1_33_1","volume-title":"An autotuning protocol to rapidly build autotuners. ACM Transactions on Parallel Computing","author":"Liu Junhong","year":"2018"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.4244"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2751205.2751209"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2015.06.010"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2015.04.004"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2464996.2465013"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2016.03.011"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11515-8_10"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2011.60"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2016.05.304"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.160"},{"key":"e_1_2_1_45_1","unstructured":"NVIDIA. 2010. CUDA CUSPARSE Library. NVIDIA.  NVIDIA. 2010. CUDA CUSPARSE Library. NVIDIA."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840306"},{"key":"e_1_2_1_47_1","volume-title":"SPARSKIT: A Basic Tool Kit for Sparse Matrix Computations. Technical Report.","author":"Saad Youcef","year":"1994"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2751205.2751244"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2207243.2207252"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/2338816.2338825"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2304576.2304603"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2304576.2304624"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.5555\/2033408.2033447"},{"key":"e_1_2_1_54_1","volume-title":"Yelick","author":"Vuduc Richard","year":"2005"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/11557654_91"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178513"},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the 1998 ACM\/IEEE Conference on Supercomputing (CDROM) (Supercomputing\u201998)","author":"Clint Whaley R."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2008.12.006"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3168818"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2555243.2555255"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.14778\/1938545.1938548"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840444"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178495"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3218823","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3218823","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:07:05Z","timestamp":1750212425000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3218823"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,8,9]]},"references-count":60,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,12,31]]}},"alternative-id":["10.1145\/3218823"],"URL":"https:\/\/doi.org\/10.1145\/3218823","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,8,9]]},"assertion":[{"value":"2015-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-08-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}