{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,27]],"date-time":"2026-05-27T18:17:17Z","timestamp":1779905837241,"version":"3.53.1"},"reference-count":38,"publisher":"IOP Publishing","issue":"4","license":[{"start":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T00:00:00Z","timestamp":1759795200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"},{"start":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T00:00:00Z","timestamp":1759795200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/iopscience.iop.org\/info\/page\/text-and-data-mining"}],"funder":[{"name":"Max-Planck-Gesellschaft","award":["BigMax (the Max Planck Society\u2019s Research Network"],"award-info":[{"award-number":["BigMax (the Max Planck Society\u2019s Research Network"]}]},{"DOI":"10.13039\/100010661","name":"Horizon 2020 Framework Programme","doi-asserted-by":"crossref","award":["951786"],"award-info":[{"award-number":["951786"]}],"id":[{"id":"10.13039\/100010661","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100005156","name":"Alexander von Humboldt-Stiftung","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100005156","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100010663","name":"H2020 European Research Council","doi-asserted-by":"crossref","award":["740233"],"award-info":[{"award-number":["740233"]}],"id":[{"id":"10.13039\/100010663","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["iopscience.iop.org"],"crossmark-restriction":false},"short-container-title":["Mach. Learn.: Sci. Technol."],"published-print":{"date-parts":[[2025,12,30]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>Sure-independence screening and sparsifying operator (SISSO) is an artificial intelligence (AI) method based on symbolic regression and compressed sensing widely used in materials science research. SISSO++ is its C++ implementation that employs MPI and OpenMP for parallelization, rendering it well-suited for high-performance computing (HPC) environments. As heterogeneous hardware becomes mainstream in the HPC and AI fields, we chose to port the SISSO++ code to GPUs using the Kokkos performance-portable library. Kokkos allows us to maintain a single codebase for both Nvidia and AMD GPUs, significantly reducing the maintenance effort. In this work, we summarize the necessary code changes we did to achieve hardware and performance portability. This is accompanied by performance benchmarks on Nvidia and AMD GPUs. We demonstrate the speedups obtained from using GPUs across the three most time-consuming parts of our code.<\/jats:p>","DOI":"10.1088\/2632-2153\/ae0ab3","type":"journal-article","created":{"date-parts":[[2025,9,23]],"date-time":"2025-09-23T22:54:47Z","timestamp":1758668087000},"page":"047001","update-policy":"https:\/\/doi.org\/10.1088\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["A high-performance and portable implementation of the SISSO method for CPUs and GPUs"],"prefix":"10.1088","volume":"6","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1069-2720","authenticated-orcid":true,"given":"Sebastian","family":"Eibl","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9957-6979","authenticated-orcid":false,"given":"Yi","family":"Yao","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1280-9873","authenticated-orcid":false,"given":"Matthias","family":"Scheffler","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8177-8698","authenticated-orcid":false,"given":"Markus","family":"Rampp","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5099-3029","authenticated-orcid":false,"given":"Luca M","family":"Ghiringhelli","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4564-7206","authenticated-orcid":true,"given":"Thomas A R","family":"Purcell","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"266","published-online":{"date-parts":[[2025,10,7]]},"reference":[{"key":"mlstae0ab3bib1","article-title":"Symbolic regression is np-hard","author":"Virgolin","year":"2022","type":"preprint"},{"key":"mlstae0ab3bib2","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1126\/science.1165893","type":"journal-article","article-title":"Distilling free-form natural laws from experimental data","volume":"324","author":"Schmidt","year":"2009","journal-title":"Science"},{"key":"mlstae0ab3bib3","article-title":"Interpretable machine learning for science with pysr and symbolicregression. jl","author":"Cranmer","year":"2023","type":"preprint"},{"key":"mlstae0ab3bib4","first-page":"10269","type":"conference-proceedings","article-title":"End-to-end symbolic regression with transformers","volume":"vol 35","author":"Kamienny","year":"2022"},{"key":"mlstae0ab3bib5","doi-asserted-by":"publisher","first-page":"37840","DOI":"10.1109\/ACCESS.2024.3374649","type":"journal-article","article-title":"Symformer: end-to-end symbolic regression using transformer-based architecture","volume":"12","author":"Vastl","year":"2024","journal-title":"IEEE Access"},{"key":"mlstae0ab3bib6","author":"TOP500 list","year":"2024","type":"other"},{"key":"mlstae0ab3bib7","doi-asserted-by":"publisher","first-page":"805","DOI":"10.1109\/TPDS.2021.3097283","type":"journal-article","article-title":"Kokkos 3: programming model extensions for the exascale era","volume":"33","author":"Trott","year":"2022","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"mlstae0ab3bib8","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pone.0250306","type":"journal-article","article-title":"Cross-platform programming model for many-core lattice Boltzmann simulations","volume":"16","author":"Latt","year":"2021","journal-title":"PLoS One"},{"key":"mlstae0ab3bib9","doi-asserted-by":"publisher","DOI":"10.1109\/p3hpc49587.2019.00012","type":"conference-proceedings","article-title":"Raja: portable performance for large-scale scientific applications","author":"Beckingsale","year":"2019"},{"key":"mlstae0ab3bib10","doi-asserted-by":"publisher","DOI":"10.1002\/aelm.202400258","type":"journal-article","article-title":"Advancing neural networks: innovations and impacts on energy consumption","volume":"10","author":"Fedorova","year":"2024","journal-title":"Adv. Electron. Mater."},{"key":"mlstae0ab3bib11","doi-asserted-by":"publisher","DOI":"10.1016\/j.drudis.2024.103990","type":"journal-article","article-title":"From gpus to ai and quantum: three waves of acceleration in bioinformatics","volume":"29","author":"Schmidt","year":"2024","journal-title":"Drug Discovery Today"},{"key":"mlstae0ab3bib12","doi-asserted-by":"publisher","DOI":"10.1063\/5.0005082","type":"journal-article","article-title":"Quantum ESPRESSO toward the exascale","volume":"152","author":"Giannozzi","year":"2020","journal-title":"J. Chem. Phys."},{"key":"mlstae0ab3bib13","article-title":"Keras","author":"Chollet","year":"2015","type":"other"},{"key":"mlstae0ab3bib14","first-page":"265","type":"conference-proceedings","article-title":"Tensorflow: a system for large-scale machine learning","author":"Abadi","year":"2016"},{"key":"mlstae0ab3bib15","first-page":"8024","type":"conference-proceedings","article-title":"Pytorch: An imperative style, high-performance deep learning library","author":"Paszke","year":"2019"},{"key":"mlstae0ab3bib16","doi-asserted-by":"publisher","first-page":"3960","DOI":"10.21105\/joss.03960","type":"journal-article","article-title":"SISSO++: A C++ implementation of the sure-independence screening and sparsifying operator approach","volume":"7","author":"Purcell","year":"2022","journal-title":"J. Open Source Softw."},{"key":"mlstae0ab3bib17","doi-asserted-by":"publisher","DOI":"10.1063\/5.0156620","type":"journal-article","article-title":"Recent advances in the sisso method and their implementation in the sisso++ code","volume":"159","author":"Purcell","year":"2023","journal-title":"J. Chem. Phys."},{"key":"mlstae0ab3bib18","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevMaterials.2.083802","type":"journal-article","article-title":"SISSO: A compressed-sensing method for identifying the best low-dimensional descriptor in an immensity of offered candidates","volume":"2","author":"Ouyang","year":"2018","journal-title":"Phys. Rev. Mater."},{"key":"mlstae0ab3bib19","doi-asserted-by":"publisher","DOI":"10.1088\/2515-7639\/ab077b","type":"journal-article","article-title":"Simultaneous learning of several materials properties from incomplete databases with multi-task SISSO","volume":"2","author":"Ouyang","year":"2019","journal-title":"J. Phys. Mater."},{"key":"mlstae0ab3bib20","doi-asserted-by":"publisher","first-page":"849","DOI":"10.1111\/j.1467-9868.2008.00674.x","type":"journal-article","article-title":"Sure independence screening for ultrahigh dimensional feature space","volume":"70","author":"Fan","year":"2008","journal-title":"J. R. Stat. Soc. Ser. B Stat. Methodol."},{"key":"mlstae0ab3bib21","doi-asserted-by":"publisher","first-page":"e5640","DOI":"10.1002\/cpe.5640","type":"journal-article","article-title":"Evaluation of performance portability frameworks for the implementation of a particle-in-cell code","volume":"32","author":"Artigues","year":"2020","journal-title":"Concurr. Comput. Pract. Exper."},{"key":"mlstae0ab3bib22","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2023.108973","type":"journal-article","article-title":"A performance portable implementation of the semi-lagrangian algorithm in six dimensions","volume":"295","author":"Schild","year":"2024","journal-title":"Comput. Phys. Commun."},{"key":"mlstae0ab3bib23","article-title":"A study of performance portability in plasma physics simulations","author":"Ruzicka","year":"2024","type":"conference-proceedings"},{"key":"mlstae0ab3bib24","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1177\/10943420211028940","type":"journal-article","article-title":"A survey of software implementations used by application codes in the exascale computing project","volume":"36","author":"Evans","year":"2022","journal-title":"Int. J. High Perform. Comput. Appl."},{"key":"mlstae0ab3bib25","doi-asserted-by":"publisher","first-page":"103","DOI":"10.1145\/3492805.3492806","type":"conference-proceedings","article-title":"On the performance portability of openacc, openmp, kokkos and raja","author":"Marowka","year":"2022"},{"key":"mlstae0ab3bib26","doi-asserted-by":"crossref","DOI":"10.1051\/0004-6361\/202346005","type":"preprint","article-title":"Idefix: a versatile performance-portable Godunov code for astrophysical flows","author":"Lesur","year":"2023"},{"key":"mlstae0ab3bib27","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/2742\/1\/012027","type":"journal-article","article-title":"Tackling exascale systems for astrophysics","volume":"2742","author":"Roussel-Hard","year":"2024","journal-title":"J. Phys.: Conf. Ser."},{"key":"mlstae0ab3bib28","doi-asserted-by":"publisher","first-page":"112","DOI":"10.1038\/s41524-023-01063-y","type":"journal-article","article-title":"Accelerating materials-space exploration for thermal insulators by mapping materials properties via artificial intelligence","volume":"9","author":"Purcell","year":"2023","journal-title":"npj Comput. Mater."},{"key":"mlstae0ab3bib29","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevLett.130.236301","type":"journal-article","article-title":"Anharmonicity in thermal insulators: an analysis from first principles","volume":"130","author":"Knoop","year":"2023","journal-title":"Phys. Rev. Lett."},{"key":"mlstae0ab3bib30","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1038\/s41524-019-0239-3","type":"journal-article","article-title":"Crowd-sourcing materials-science challenges with the nomad 2018 kaggle competition","volume":"5","author":"Sutton","year":"2019","journal-title":"npj Comput. Mater."},{"key":"mlstae0ab3bib31","article-title":"Compute savings plans for amazon ec2, 22 june 2024","author":"Amazon","year":"2024","type":"other"},{"key":"mlstae0ab3bib32","doi-asserted-by":"publisher","first-page":"1027","DOI":"10.1145\/3624062.3624179","type":"conference-proceedings","article-title":"Benchmarking a portable lattice quantum chromodynamics kernel written in Kokkos and mpi","author":"Schlepphorst","year":"2023"},{"key":"mlstae0ab3bib33","doi-asserted-by":"publisher","first-page":"e8000","DOI":"10.1002\/cpe.8000","type":"journal-article","article-title":"Single- and multi-GPU computing on NVIDIA- and AMD-based server platforms for solidification modeling application","volume":"36","author":"Halbiniak","year":"2023","journal-title":"Concurr. Comput. Pract. Experience"},{"key":"mlstae0ab3bib34","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2023.103033","type":"journal-article","article-title":"Using heterogeneous gpu nodes with a cabana-based implementation of mpcd","volume":"117","author":"Halver","year":"2023","journal-title":"Parallel Comput."},{"key":"mlstae0ab3bib35","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1007\/978-3-031-23821-5_3","type":"book","author":"Jim\u00e9","year":"2022"},{"key":"mlstae0ab3bib36","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1007\/978-3-031-72567-8_2","type":"book","author":"Thavappiragasam","year":"2024"},{"key":"mlstae0ab3bib37","doi-asserted-by":"publisher","first-page":"1","DOI":"10.23919\/ISC.2024.10528925","type":"conference-proceedings","article-title":"Porting hpc applications to AMD instinctTM mi300a using unified memory and openmp\u00ae","author":"Tandon","year":"2024"},{"key":"mlstae0ab3bib38","doi-asserted-by":"publisher","first-page":"150","DOI":"10.1038\/s41524-025-01596-4","type":"journal-article","article-title":"Materials-discovery workflow guided by symbolic regression for identifying acid-stable oxides for electrocatalysis","volume":"11","author":"Nair","year":"2025","journal-title":"npj Comput. Mater."}],"container-title":["Machine Learning: Science and Technology"],"original-title":[],"link":[{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3","content-type":"text\/html","content-version":"am","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"similarity-checking"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T08:23:28Z","timestamp":1759825408000},"score":1,"resource":{"primary":{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ae0ab3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,7]]},"references-count":38,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2025,10,7]]},"published-print":{"date-parts":[[2025,12,30]]}},"URL":"https:\/\/doi.org\/10.1088\/2632-2153\/ae0ab3","relation":{},"ISSN":["2632-2153"],"issn-type":[{"value":"2632-2153","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,10,7]]},"assertion":[{"value":"A high-performance and portable implementation of the SISSO method for CPUs and GPUs","name":"article_title","label":"Article Title"},{"value":"Machine Learning: Science and Technology","name":"journal_title","label":"Journal Title"},{"value":"paper","name":"article_type","label":"Article Type"},{"value":"\u00a9 2025 The Author(s). Published by IOP Publishing Ltd","name":"copyright_information","label":"Copyright Information"},{"value":"2025-03-01","name":"date_received","label":"Date Received","group":{"name":"publication_dates","label":"Publication dates"}},{"value":"2025-09-23","name":"date_accepted","label":"Date Accepted","group":{"name":"publication_dates","label":"Publication dates"}},{"value":"2025-10-07","name":"date_epub","label":"Online publication date","group":{"name":"publication_dates","label":"Publication dates"}}]}}