{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T02:22:38Z","timestamp":1773886958363,"version":"3.50.1"},"reference-count":35,"publisher":"Springer Science and Business Media LLC","issue":"12","license":[{"start":{"date-parts":[[2020,10,11]],"date-time":"2020-10-11T00:00:00Z","timestamp":1602374400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,10,11]],"date-time":"2020-10-11T00:00:00Z","timestamp":1602374400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"publisher","award":["No.2018R1C1B5045551"],"award-info":[{"award-number":["No.2018R1C1B5045551"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002519","name":"Korea University of Technology and Education","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100002519","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Computing"],"published-print":{"date-parts":[[2020,12]]},"DOI":"10.1007\/s00607-020-00846-1","type":"journal-article","created":{"date-parts":[[2020,10,11]],"date-time":"2020-10-11T13:02:16Z","timestamp":1602421336000},"page":"2607-2631","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":10,"title":["HPMaX: heterogeneous parallel matrix multiplication using CPUs and GPUs"],"prefix":"10.1007","volume":"102","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3571-1294","authenticated-orcid":false,"given":"Homin","family":"Kang","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hyuck Chan","family":"Kwon","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9075-3983","authenticated-orcid":false,"given":"Duksu","family":"Kim","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,10,11]]},"reference":[{"key":"846_CR1","unstructured":"AMD Ryzen series https:\/\/www.amd.com\/en\/products\/embedded-ryzen-series (2020)"},{"key":"846_CR2","doi-asserted-by":"crossref","unstructured":"Abdelfattah A, Tomov S, Dongarra J (2019) Fast batched matrix multiplication for small sizes using half-precision arithmetic on gpus. In: 2019 IEEE international parallel and distributed processing symposium (IPDPS), IEEE, pp 111\u2013122","DOI":"10.1109\/IPDPS.2019.00022"},{"issue":"5","key":"846_CR3","doi-asserted-by":"publisher","first-page":"575","DOI":"10.1147\/rd.395.0575","volume":"39","author":"RC Agarwal","year":"1995","unstructured":"Agarwal RC, Balle SM, Gustavson FG, Joshi M, Palkar P (1995) A three-dimensional approach to parallel matrix multiplication. IBM J Res Dev 39(5):575\u2013582","journal-title":"IBM J Res Dev"},{"key":"846_CR4","doi-asserted-by":"crossref","unstructured":"Ballard G, Demmel J, Holtz O, Lipshitz B, Schwartz O (2012) Communication-optimal parallel algorithm for Strassen\u2019s matrix multiplication. In: Proceedings of the twenty-fourth annual ACM symposium on parallelism in algorithms and architectures, ACM, pp 193\u2013204","DOI":"10.1145\/2312005.2312044"},{"key":"846_CR5","doi-asserted-by":"crossref","unstructured":"Barrachina S, Castillo M, Igual FD, Mayo R, Quintana-Orti ES (2008) Evaluation and tuning of the level 3 cublas for graphics processors. In: 2008 IEEE international symposium on parallel and distributed processing, IEEE, pp 1\u20138","DOI":"10.1109\/IPDPS.2008.4536485"},{"issue":"9","key":"846_CR6","doi-asserted-by":"publisher","first-page":"837","DOI":"10.1002\/(SICI)1096-9128(199709)9:9<837::AID-CPE267>3.0.CO;2-2","volume":"9","author":"A Chtchelkanova","year":"1997","unstructured":"Chtchelkanova A, Gunnels J, Morrow G, Overfelt J, Van De Geijn RA (1997) Parallel implementation of blas: general techniques for level 3 blas. Concurr Pract Exp 9(9):837\u2013857","journal-title":"Concurr Pract Exp"},{"key":"846_CR7","doi-asserted-by":"crossref","unstructured":"Coppersmith D, Winograd S (1987) Matrix multiplication via arithmetic progressions. In: Proceedings of the nineteenth annual ACM symposium on theory of computing, ACM, pp 1\u20136","DOI":"10.1145\/28395.28396"},{"key":"846_CR8","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1109\/99.660313","volume":"5","author":"L Dagum","year":"1998","unstructured":"Dagum L, Menon R (1998) OpenMP: an industry standard API for shared-memory programming. IEEE Comput Sci Eng 5:46\u201355","journal-title":"IEEE Comput Sci Eng"},{"key":"846_CR9","doi-asserted-by":"crossref","unstructured":"Fatahalian K, Sugerman J, Hanrahan P (2004) Understanding the efficiency of gpu algorithms for matrix-matrix multiplication. In: Proceedings of the ACM SIGGRAPH\/EUROGRAPHICS conference on Graphics hardware, ACM, pp 133\u2013137","DOI":"10.1145\/1058129.1058148"},{"issue":"9","key":"846_CR10","doi-asserted-by":"publisher","first-page":"1017","DOI":"10.1016\/j.jpdc.2004.03.021","volume":"64","author":"D Irony","year":"2004","unstructured":"Irony D, Toledo S, Tiskin A (2004) Communication lower bounds for distributed-memory matrix multiplication. J Parallel Distrib Comput 64(9):1017\u20131026","journal-title":"J Parallel Distrib Comput"},{"issue":"2","key":"846_CR11","first-page":"79","volume":"5","author":"L Itu","year":"2012","unstructured":"Itu L, Moldoveanu F, Suciu C, Postelnicu A (2012) Gpu enhanced stream-based matrix multiplication. Bull Transil Univ Brasov Eng Sci Ser I 5(2):79","journal-title":"Bull Transil Univ Brasov Eng Sci Ser I"},{"key":"846_CR12","unstructured":"Karunadasa N, Ranasinghe D (2009) On the comparative performance of parallel algorithms on small GPU\/CUDA clusters. In: International conference on high performance computing"},{"issue":"3","key":"846_CR13","doi-asserted-by":"publisher","first-page":"1418","DOI":"10.1007\/s11227-014-1098-9","volume":"68","author":"V Kelefouras","year":"2014","unstructured":"Kelefouras V, Kritikakou A, Goutis C (2014) A matrix\u2013matrix multiplication methodology for single\/multi-core architectures using simd. J Supercomput 68(3):1418\u20131440","journal-title":"J Supercomput"},{"key":"846_CR14","doi-asserted-by":"crossref","unstructured":"Kim D, Heo JP, Huh J, Kim J, Yoon SE (2009) HPCCD: Hybrid parallel continuous collision detection. Comput Graph Forum (Pac Graph) 28(7)","DOI":"10.1111\/j.1467-8659.2009.01556.x"},{"issue":"9","key":"846_CR15","doi-asserted-by":"publisher","first-page":"1513","DOI":"10.1109\/TVCG.2013.71","volume":"19","author":"D Kim","year":"2013","unstructured":"Kim D, Lee J, Lee J, Shin I, Kim J, Yoon SE (2013) Scheduling in heterogeneous computing environments for proximity queries. IEEE Trans Vis Comput Graph 19(9):1513\u20131525","journal-title":"IEEE Trans Vis Comput Graph"},{"key":"846_CR16","doi-asserted-by":"crossref","unstructured":"Lai PW, Arafat H, Elango V, Sadayappan P (2013) Accelerating Strassen\u2013Winograd\u2019s matrix multiplication algorithm on GPUs. In: 20th international conference on high performance computing (HiPC), IEEE, pp 139\u2013148","DOI":"10.1109\/HiPC.2013.6799109"},{"key":"846_CR17","unstructured":"Li A, Serban R, Negrut D (2014) An overview of nvidia tegra k1 architecture. http:\/\/sbel.wisc.edu\/documents\/TR-2014-17"},{"key":"846_CR18","doi-asserted-by":"crossref","unstructured":"Lipshitz B, Ballard G, Demmel J, Schwartz O (2012) Communication-avoiding parallel strassen: implementation and performance. In: Proceedings of the international conference on high performance computing, networking, storage and analysis, p 101","DOI":"10.1109\/SC.2012.33"},{"key":"846_CR19","doi-asserted-by":"crossref","unstructured":"Liu W, Vinter B (2014) An efficient GPU general sparse matrix-matrix multiplication for irregular data. In: IEEE 28th international parallel and distributed processing symposium, IEEE, pp 370\u2013381","DOI":"10.1109\/IPDPS.2014.47"},{"key":"846_CR20","unstructured":"NVIDIA: CUBLAS libraries https:\/\/developer.nvidia.com\/cublas (2018)"},{"key":"846_CR21","unstructured":"NVIDIA: CUDA programming guide 9.2 (2018)"},{"key":"846_CR22","doi-asserted-by":"crossref","unstructured":"Ohtaki Y, Takahashi D, Boku T, Sato M (2004) Parallel implementation of strassen\u2019s matrix multiplication algorithm for heterogeneous clusters. In: 18th international on parallel and distributed processing symposium, Proceedings, IEEE, p 112","DOI":"10.1109\/IPDPS.2004.1303066"},{"key":"846_CR23","doi-asserted-by":"crossref","unstructured":"Pan VY (1979) Field extension and trilinear aggregating, uniting and canceling for the acceleration of matrix multiplications. In: IEEE foundations of computer science, IEEE, pp 28\u201338","DOI":"10.1109\/SFCS.1979.17"},{"issue":"2","key":"846_CR24","doi-asserted-by":"publisher","first-page":"321","DOI":"10.1137\/0209027","volume":"9","author":"VY Pan","year":"1980","unstructured":"Pan VY (1980) New fast algorithms for matrix operations. SIAM J Comput 9(2):321\u2013342","journal-title":"SIAM J Comput"},{"key":"846_CR25","unstructured":"Ray U, Hazra TK, Ray UK (2016) Matrix multiplication using Strassen\u2019s algorithm on CPU & GPU"},{"key":"846_CR26","doi-asserted-by":"crossref","unstructured":"Ryu S, Kim D (2018) Parallel huge matrix multiplication on a cluster with gpgpu accelerators. In: 2018 IEEE international parallel and distributed processing symposium workshops (IPDPSW), IEEE, pp 877\u2013882","DOI":"10.1109\/IPDPSW.2018.00139"},{"issue":"1","key":"846_CR27","first-page":"272","volume":"9","author":"V Saravanan","year":"2012","unstructured":"Saravanan V, Radhakrishnan M, Basavesh A, Kothari D (2012) A comparative study on performance benefits of multi-core cpus using openmp. Int J Comput Sci Issue (IJCSI) 9(1):272","journal-title":"Int J Comput Sci Issue (IJCSI)"},{"issue":"3","key":"846_CR28","doi-asserted-by":"publisher","first-page":"434","DOI":"10.1137\/0210032","volume":"10","author":"A Sch\u00f6nhage","year":"1981","unstructured":"Sch\u00f6nhage A (1981) Partial and total matrix multiplication. SIAM J Comput 10(3):434\u2013455","journal-title":"SIAM J Comput"},{"issue":"4","key":"846_CR29","doi-asserted-by":"publisher","first-page":"354","DOI":"10.1007\/BF02165411","volume":"13","author":"V Strassen","year":"1969","unstructured":"Strassen V (1969) Gaussian elimination is not optimal. Numerische mathematik 13(4):354\u2013356","journal-title":"Numerische mathematik"},{"key":"846_CR30","doi-asserted-by":"crossref","unstructured":"Strassen V (1986) The asymptotic spectrum of tensors and the exponent of matrix multiplication. In: 27th annual symposium on foundations of computer science, IEEE, pp 49\u201354","DOI":"10.1109\/SFCS.1986.52"},{"key":"846_CR31","doi-asserted-by":"publisher","unstructured":"Sun Y, Tong Y (2010) Cuda based fast implementation of very large matrix computation. In: 2010 international conference on parallel and distributed computing, applications and technologies, pp 487\u2013491. https:\/\/doi.org\/10.1109\/PDCAT.2010.45","DOI":"10.1109\/PDCAT.2010.45"},{"key":"846_CR32","doi-asserted-by":"crossref","unstructured":"Sunitha N, Raju K, Chiplunkar NN (2017) Performance improvement of CUDA applications by reducing CPU-GPU data transfer overhead. In: international conference on inventive communication and computational technologies (ICICCT), pp 211\u2013215","DOI":"10.1109\/ICICCT.2017.7975190"},{"key":"846_CR33","doi-asserted-by":"crossref","unstructured":"Volkov V, Demmel JW (2008) Benchmarking GPUs to tune dense linear algebra. In: International conference for high performance computing, networking, storage and analysis, IEEE, pp 1\u201311","DOI":"10.1109\/SC.2008.5214359"},{"key":"846_CR34","doi-asserted-by":"crossref","unstructured":"Yugopuspito P, Sutrisno Hudi R (2013) Breaking through memory limitation in GPU parallel processing using strassen algorithm. In: International conference on computer, control, informatics and its applications (IC3INA), pp 201\u2013205","DOI":"10.1109\/IC3INA.2013.6819174"},{"key":"846_CR35","doi-asserted-by":"crossref","unstructured":"Zhang P, Gao Y (2015) Matrix multiplication on high-density multi-gpu architectures: theoretical and experimental investigations. In: International conference on high performance computing, Springer, pp 17\u201330","DOI":"10.1007\/978-3-319-20119-1_2"}],"container-title":["Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-020-00846-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00607-020-00846-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-020-00846-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T06:04:04Z","timestamp":1633932244000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00607-020-00846-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,10,11]]},"references-count":35,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2020,12]]}},"alternative-id":["846"],"URL":"https:\/\/doi.org\/10.1007\/s00607-020-00846-1","relation":{},"ISSN":["0010-485X","1436-5057"],"issn-type":[{"value":"0010-485X","type":"print"},{"value":"1436-5057","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,10,11]]},"assertion":[{"value":"6 April 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"25 September 2020","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"11 October 2020","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}