{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,14]],"date-time":"2025-11-14T07:41:29Z","timestamp":1763106089877,"version":"3.40.4"},"reference-count":79,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"5","license":[{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"am","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"DOI":"10.13039\/501100000781","name":"European Research Council","doi-asserted-by":"publisher","award":["678880","801039","955606"],"award-info":[{"award-number":["678880","801039","955606"]}],"id":[{"id":"10.13039\/501100000781","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001711","name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","doi-asserted-by":"publisher","award":["PZ00P2_185778","209358","185778"],"award-info":[{"award-number":["PZ00P2_185778","209358","185778"]}],"id":[{"id":"10.13039\/501100001711","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001711","name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","doi-asserted-by":"publisher","award":["209358","185778"],"award-info":[{"award-number":["209358","185778"]}],"id":[{"id":"10.13039\/501100001711","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Parallel Distrib. Syst."],"published-print":{"date-parts":[[2025,5]]},"DOI":"10.1109\/tpds.2025.3549310","type":"journal-article","created":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T17:57:00Z","timestamp":1744221420000},"page":"804-820","source":"Crossref","is-referenced-by-count":1,"title":["Productivity, Portability, Performance, and Reproducibility: Data-Centric Python"],"prefix":"10.1109","volume":"36","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4328-9751","authenticated-orcid":false,"given":"Alexandros Nikolaos","family":"Ziogas","sequence":"first","affiliation":[{"name":"Department of Information Technology and Electrical Engineering, ETH Zurich, Zurich, Switzerland"}]},{"given":"Timo","family":"Schneider","sequence":"additional","affiliation":[{"name":"Department of Computer Science, ETH Zurich, Zurich, Switzerland"}]},{"given":"Tal","family":"Ben-Nun","sequence":"additional","affiliation":[{"name":"Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA"}]},{"given":"Alexandru","family":"Calotoiu","sequence":"additional","affiliation":[{"name":"Department of Computer Science, ETH Zurich, Zurich, Switzerland"}]},{"given":"Tiziano","family":"De Matteis","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Vrije Universiteit Amsterdam, Amsterdam, Netherlands"}]},{"given":"Johannes","family":"de Fine Licht","sequence":"additional","affiliation":[{"name":"NextSilicon, Zurich, Switzerland"}]},{"given":"Luca","family":"Lavarini","sequence":"additional","affiliation":[{"name":"1plusX, Zurich, Switzerland"}]},{"given":"Torsten","family":"Hoefler","sequence":"additional","affiliation":[{"name":"Department of Computer Science, ETH Zurich, Zurich, Switzerland"}]}],"member":"263","reference":[{"year":"2020","key":"ref1","article-title":"The 2020 state of the octoverse"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.5555\/1953048.2078195"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.25080\/Majora-92bf1922-00a"},{"key":"ref4","first-page":"87","article-title":"Jupyter notebooks - A publishing format for reproducible computational workflows","volume-title":"Positioning and Power in Academic Publishing: Players, Agents and Agendas","author":"Kluyver","year":"2016"},{"key":"ref5","first-page":"8024","article-title":"PyTorch: An imperative style, high-performance deep learning library","volume-title":"Proc. Adv. Neural Inf. Process. Syst.","author":"Paszke"},{"article-title":"TensorFlow: Large-scale machine learning on heterogeneous systems","year":"2015","author":"Abadi","key":"ref6"},{"year":"2014","key":"ref7","article-title":"Gt4py"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3295500.3357156"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1038\/s41586-020-2649-2"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.90"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1109\/P3HPC51967.2020.00011"},{"article-title":"JAX: Composable transformations of Python NumPy programs","year":"2018","author":"Bradbury","key":"ref12"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/PyHPC.2016.013"},{"article-title":"Cupy","year":"2021","author":"Networks","key":"ref14"},{"issue":"9","key":"ref15","first-page":"1124","article-title":"Parallel distributed computing using python","volume-title":"Adv. Water Resources","volume":"34","author":"Dalcin","year":"2011"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2010.118"},{"key":"ref17","first-page":"1","article-title":"Bohrium: Unmodified numpy code on CPU, GPU, and cluster","volume-title":"Proc. Workshop Python High Perform. Sci. Comput.","author":"Kristensen","year":"2013"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/3295500.3356175"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/2833157.2833162"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1088\/1749-4680\/8\/1\/014001"},{"year":"2016","key":"ref21","article-title":"Dask: Library for dynamic task scheduling"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291210"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/3295500.3356173"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/3458817.3476176"},{"year":"2020","key":"ref25","article-title":"CPU 2017 metrics"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-46423-9_8"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/CGO51591.2021.9370315"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1017\/s0885715613000924"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.21105\/jose.00021"},{"article-title":"nbody-python: Create your own n-body simulation (with python)","year":"2020","author":"Mocz","key":"ref30"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1063\/1.4990384"},{"article-title":"Cython for numpy users","year":"2025","author":"Behnel","key":"ref32"},{"year":"2012","key":"ref33","article-title":"A 5 minute guide to numba"},{"article-title":"rougier\/from-python-to-numpy: Version 1.1. zenodo","year":"2016","author":"Rougier","key":"ref34"},{"year":"2018","key":"ref35","article-title":"Implementation of crc16 (crc-16-ccitt) in python"},{"year":"2017","key":"ref36","article-title":"Example: Histogram"},{"article-title":"Development of stockham fast fourier transform using data-centric parallel programming","year":"2020","author":"Bengtsson","key":"ref37"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1162\/neco.1989.1.4.541"},{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.90"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1175\/MWR-D-10-05013.1"},{"year":"1998","key":"ref41","article-title":"Consortium for small-scale modeling"},{"article-title":"PolyBench: The polyhedral benchmark suite","year":"2012","author":"Pouchet","key":"ref42"},{"article-title":"Pep 465\u2013A dedicated infix operator for matrix multiplication","year":"2014","author":"Foundation","key":"ref43"},{"article-title":"Pythran","year":"2012","author":"Guelton","key":"ref44"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807644"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-4380-9_41"},{"year":"2015","key":"ref47","article-title":"Cupy: User-defined kernels"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2020.3039409"},{"key":"ref49","first-page":"711","article-title":"Data movement is all you need: A case study on optimizing transformers","volume-title":"Proc. 4th Conf. Mach. Learn. Syst.","author":"Ivanov"},{"year":"1995","key":"ref50","article-title":"Pblas"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-013-0330-4"},{"year":"1995","key":"ref52","article-title":"Blacs"},{"year":"2021","key":"ref53","article-title":"Legate: High productivity performance computing"},{"year":"2014","key":"ref54","article-title":"Dask array"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/3295500.3356181"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2012.71"},{"key":"ref57","first-page":"138","article-title":"GASNet-EX: A high-performance, portable communication library for exascale","volume-title":"Proc. Lang. Compilers Parallel Comput.","author":"Bonachea"},{"article-title":"Pep 318\u2013decorators for functions and methods","year":"2003","author":"Foundation","key":"ref58"},{"issue":"2","key":"ref59","first-page":"79","article-title":"Dawn: A high-level domain-specific language compiler toolchain for weather and climate applications","volume":"7","author":"Osuna","year":"2020","journal-title":"Supercomput. Front. Innovations"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807629"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/3218176.3218226"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.1109\/CGO51591.2021.9370308"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/3469030"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"year":"2016","key":"ref67","article-title":"Definition - performance portability"},{"key":"ref68","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"article-title":"OpenACC","year":"2021","author":"Organization","key":"ref69"},{"article-title":"OpenCL","year":"2021","author":"Group","key":"ref70"},{"year":"2021","key":"ref71","article-title":"Sycl"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1145\/3388333.3388653"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1177\/1094342007078442"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1145\/174223.158909"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2014.07.003"},{"year":"2019","key":"ref76","article-title":"RAJA performance portability layer"},{"article-title":"Numpy benchmarks","year":"2019","author":"Guelton","key":"ref77"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1145\/3447818.3460360"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1109\/PDP.2010.67"}],"container-title":["IEEE Transactions on Parallel and Distributed Systems"],"original-title":[],"link":[{"URL":"https:\/\/ieeexplore.ieee.org\/ielam\/71\/10960276\/10960277-aam.pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"http:\/\/xplorestaging.ieee.org\/ielx8\/71\/10960276\/10960277.pdf?arnumber=10960277","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,14]],"date-time":"2025-04-14T17:41:04Z","timestamp":1744652464000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/10960277\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,5]]},"references-count":79,"journal-issue":{"issue":"5"},"URL":"https:\/\/doi.org\/10.1109\/tpds.2025.3549310","relation":{},"ISSN":["1045-9219","1558-2183","2161-9883"],"issn-type":[{"type":"print","value":"1045-9219"},{"type":"electronic","value":"1558-2183"},{"type":"electronic","value":"2161-9883"}],"subject":[],"published":{"date-parts":[[2025,5]]}}}