{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T12:00:43Z","timestamp":1784203243640,"version":"3.55.0"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,6,15]],"date-time":"2023-06-15T00:00:00Z","timestamp":1686787200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"SOLHARIS project","award":["ANR19-CE46-0009"],"award-info":[{"award-number":["ANR19-CE46-0009"]}]},{"DOI":"10.13039\/501100001665","name":"French National Research Agency","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100001665","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2023,6,30]]},"abstract":"<jats:p>Task-based programming models have succeeded in gaining the interest of the high-performance mathematical software community because they relieve part of the burden of developing and implementing distributed-memory parallel algorithms in an efficient and portable way.In increasingly larger, more heterogeneous clusters of computers, these models appear as a way to maintain and enhance more complex algorithms. However, task-based programming models lack the flexibility and the features that are necessary to express in an elegant and compact way scalable algorithms that rely on advanced communication patterns. We show that the Sequential Task Flow paradigm can be extended to write compact yet efficient and scalable routines for linear algebra computations. Although, this work focuses on dense General Matrix Multiplication, the proposed features enable the implementation of more complex algorithms. We describe the implementation of these features and of the resulting GEMM operation. Finally, we present an experimental analysis on two homogeneous supercomputers showing that our approach is competitive up to 32,768 CPU cores with state-of-the-art libraries and may outperform them for some problem dimensions. Although our code can use GPUs straightforwardly, we do not deal with this case because it implies other issues which are out of the scope of this work.<\/jats:p>","DOI":"10.1145\/3583560","type":"journal-article","created":{"date-parts":[[2023,2,24]],"date-time":"2023-02-24T11:07:56Z","timestamp":1677236876000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Task-based Parallel Programming for Scalable Matrix Product Algorithms"],"prefix":"10.1145","volume":"49","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0655-6934","authenticated-orcid":false,"given":"Emmanuel","family":"Agullo","sequence":"first","affiliation":[{"name":"Inria-LaBRI"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3207-7021","authenticated-orcid":false,"given":"Alfredo","family":"Buttari","sequence":"additional","affiliation":[{"name":"IRIT, Universit\u00e9 de Toulouse, CNRS"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0446-0920","authenticated-orcid":false,"given":"Abdou","family":"Guermouche","sequence":"additional","affiliation":[{"name":"Universit\u00e9 de Bordeaux"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4935-2368","authenticated-orcid":false,"given":"Julien","family":"Herrmann","sequence":"additional","affiliation":[{"name":"IRIT, Universit\u00e9 de Toulouse, CNRS"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8682-3179","authenticated-orcid":false,"given":"Antoine","family":"Jego","sequence":"additional","affiliation":[{"name":"IRIT, Universit\u00e9 de Toulouse, INPT"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,6,15]]},"reference":[{"key":"e_1_3_2_2_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.395.0575"},{"key":"e_1_3_2_3_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.386.0673"},{"key":"e_1_3_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2017.2766064"},{"key":"e_1_3_2_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-58943-5_14"},{"key":"e_1_3_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2898348"},{"key":"e_1_3_2_7_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/180\/1\/012037"},{"key":"e_1_3_2_8_1","doi-asserted-by":"publisher","DOI":"10.1137\/S0895479899358194"},{"key":"e_1_3_2_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4613-8369-7_8"},{"key":"e_1_3_2_10_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1631"},{"key":"e_1_3_2_11_1","doi-asserted-by":"publisher","DOI":"10.1137\/090769156"},{"key":"e_1_3_2_12_1","volume-title":"Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing","author":"Blackford L. Susan","year":"1997","unstructured":"L. Susan Blackford, Jaeyoung Choi, Andrew J. Cleary, Eduardo F. D\u2019Azevedo, James Demmel, Inderjit S. Dhillon, Jack J. Dongarra, Sven Hammarling, Greg Henry, Antoine Petitet, Ken Stanley, David W. Walker, and R. Clinton Whaley. 1997. ScaLAPACK: A linear algebra library for message-passing computers. In Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing. SIAM."},{"key":"e_1_3_2_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2013.98"},{"key":"e_1_3_2_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2008.10.002"},{"key":"e_1_3_2_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/905686"},{"key":"e_1_3_2_16_1","doi-asserted-by":"publisher","DOI":"10.1137\/080731992"},{"key":"e_1_3_2_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-57675-2_28"},{"key":"e_1_3_2_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2012.32"},{"key":"e_1_3_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ScalA49573.2019.00010"},{"key":"e_1_3_2_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2021.3104255"},{"key":"e_1_3_2_21_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.2842"},{"key":"e_1_3_2_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2004.03.021"},{"key":"e_1_3_2_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC49654.2021.9622873"},{"key":"e_1_3_2_24_1","first-page":"809","volume-title":"Procceeding of the IPDPS\u201917","author":"Perez Josep M.","year":"2017","unstructured":"Josep M. Perez, Vicen\u00e7 Beltran, Jesus Labarta, and Eduard Ayguad\u00e9. 2017. Improving the integration of task nesting and dependencies in OpenMP. In Procceeding of the IPDPS\u201917. 809\u2013818."},{"key":"e_1_3_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1527286.1527288"},{"key":"e_1_3_2_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2019.03.004"},{"key":"e_1_3_2_27_1","doi-asserted-by":"publisher","DOI":"10.1137\/140993478"},{"key":"e_1_3_2_28_1","doi-asserted-by":"publisher","DOI":"10.5555\/2033408.2033420"},{"key":"e_1_3_2_29_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9128(199704)9:4<255::AID-CPE250>3.0.CO;2-2"},{"key":"e_1_3_2_30_1","volume-title":"Using PLAPACK - Parallel Linear Algebra Package","author":"Geijn Robert A. van de","year":"1997","unstructured":"Robert A. van de Geijn. 1997. Using PLAPACK - Parallel Linear Algebra Package. MIT Press."},{"key":"e_1_3_2_31_1","volume-title":"Dynamic Task Execution on Shared and Distributed Memory Architectures","author":"YarKhan Asim","year":"2012","unstructured":"Asim YarKhan. 2012. Dynamic Task Execution on Shared and Distributed Memory Architectures. Ph.D. Dissertation."}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3583560","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3583560","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:54Z","timestamp":1750178274000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3583560"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,15]]},"references-count":30,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,6,30]]}},"alternative-id":["10.1145\/3583560"],"URL":"https:\/\/doi.org\/10.1145\/3583560","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,6,15]]},"assertion":[{"value":"2022-03-09","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-12-05","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-06-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}