Search NASA⌕ Search

DOE OSTI · code-78621

DaCe - Data Centric Parallel Programming

Abstract

DaCe is a parallel programming framework that takes code in Python/NumPy and other programming languages, and maps it to high-performance CPU, GPU, and FPGA programs, which can be optimized to achieve state-of-the-art. Internally, DaCe uses the Stateful DataFlow multiGraph (SDFG) data-centric intermediate representation: A transformable, interactive representation of code based on data movement. Since the input code and the SDFG are separate, it is possible to optimize a program without changing its source, so that it stays readable. On the other hand, transformations are customizable and user-extensible, so they can be written once and reused in many applications. With data-centric parallel programming, we enable direct knowledge transfer of performance optimization, regardless of the application or the target processor.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Ben-Nun, Tal, Matteis, Tiziano De, Rausch, Oliver, Johnsen, Carl, Raje, Saurabh, Kuster, Andreas, Schaad, Philipp, Burger, Manuel, Walo, Neville, Lavarini, Luca, Scholbe, Stefan, Hofer, Dominic, Trümper, Lukas, Ivanov, Andrei, Gavrilas, Gabriel, Baumann, Thomas, Ates, Berke, Simmonds, Benjamin, Huetter, Noah, Kleine, Jan, Widmer, Marc, Schneider, Timo, Hu, Tom, Deconinck, Florian, Thaler, Felix, Dahm, Johann, Ratsimbazafy, Mamy, Jacob, Simon, Thierry, Backes, Ehrengruber, Till, Anklin, Valentin. 2019-05-10. DaCe - Data Centric Parallel Programming. https://doi.org/10.11578/dc.20220809.3

Cite the original work for its findings. Save a collection to share your selection of sources.