@inproceedings{WildgrubeEhrettTrojahnetal.2025, author = {Wildgrube, Fabian and Ehrett, Pete and Trojahn, Paul and Membarth, Richard and Beckmann, Bradford and Baumeister, Dominik and Chajdas, Matth{\"a}us}, title = {GPUs All Grown-Up: Fully Device-Driven SpMV Using GPU Work Graphs}, booktitle = {ISCA ´25: Proceedings of the 52nd Annual International Symposium on Computer Architecture}, publisher = {ACM}, address = {New York}, isbn = {979-8-4007-1261-6}, doi = {https://doi.org/10.1145/3695053.3731060}, pages = {1777 -- 1791}, year = {2025}, abstract = {Sparse matrix-vector multiplication (SpMV) is a key operation across high-performance computing, graph analytics, and many more applications. In these applications, the matrix characteristics, notably non-zero elements per row, can vary widely and impact which algorithm performs best. Thus, Graphics Processing Unit (GPU) SpMV algorithms often rely on costly preprocessing to determine what per-row algorithm to select to achieve high performance. In this work we combine SpMV preprocessing and the subsequent per-row processing on the GPU by leveraging the novel "Work Graphs" GPU programming model—initially designed for graphics applications—for dynamic on-device self-scheduling. Work Graphs allow for fine-grain dataflow execution of individual workgroups using emerging hardware and firmware support. As soon as preprocessing has generated sufficient work, workgroups of individual processing kernels are self-scheduled and executed, interleaved with those of other kernels. This improves cache locality and eliminates host interaction altogether. Across a suite of 59 sparse matrices, the best of various novel Work Graphs SpMV implementations outperforms state-of-the-art rocSPARSE "LRB" for a single SpMV by up to 7.19 × (mean: 3.35 ×, SD: 1.89). Furthermore, it achieves much more stable performance across various sparsity patterns than the rocSPARSE CSR-General algorithm, and even beats the advanced rocSPARSE CSR-Adaptive algorithm for up to 92 consecutive SpMV calculations. In addition, compared to rocSPARSE LRB, it reduces code complexity by 75\%. Its memory footprint for supporting data structures is a fixed ∼ 25 MiB independent of matrix size, compared to rocSPARSE LRB's data structures that scale with matrix size to hundreds of megabytes. Overall, this work showcases the performance potential of emerging dynamic on-device scheduling techniques for GPU compute applications.}, language = {en} } @inproceedings{DevillersKurtenackerMembarthetal.2025, author = {Devillers, Hugo and Kurtenacker, Matthias and Membarth, Richard and Lemme, Stefan and Kenzel, Michael and Yazici, {\"O}mercan and Slusallek, Philipp}, title = {No More Shading Languages: Compiling C++ to Vulkan Shaders}, booktitle = {High-Performance Graphics - Symposium Papers}, editor = {Knoll, Aaron and Peters, Christoph}, publisher = {The Eurographics Association}, address = {Goslar}, isbn = {978-3-03868-291-2}, url = {https://diglib.eg.org/handle/10.2312/hpg20251167}, doi = {https://doi.org/10.2312/hpg.20251167}, year = {2025}, abstract = {Graphics APIs have traditionally relied on shading languages, however, these languages have a number of fundamental defects and limitations. By contrast, GPU compute platforms offer powerful, feature-rich languages suitable for heterogeneous compute. We propose reframing shading languages as embedded domain-specific languages, layered on top of a more general language like C++, doing away with traditional limitations on pointers, functions, and recursion, to the benefit of programmability. This represents a significant compilation challenge because the limitations of shaders are reflected in their lower-level representations. We present the Vcc compiler, which allows conventional C and C++ code to run as Vulkan shaders. Our compiler is complemented by a simple shading library and exposes GPU particulars as intrinsics and annotations. We evaluate the performance of our compiler using a selection of benchmarks, including a real-time path tracer, achieving competitive performance compared to their native CUDA counterparts.}, language = {en} } @inproceedings{MuellerSchmidtMembarthetal.2022, author = {M{\"u}ller, Andr{\´e} and Schmidt, Bertil and Membarth, Richard and Leißa, Roland and Hack, Sebastian}, title = {AnySeq/GPU: A Novel Approach for Faster Sequence Alignment on GPUs}, pages = {20}, booktitle = {Proceedings of the 36th ACM International Conference on Supercomputing (ICS-2022)}, publisher = {ACM}, address = {New York}, isbn = {978-1-4503-9281-5}, doi = {https://doi.org/10.1145/3524059.3532376}, year = {2022}, language = {en} } @article{RaveduttiLucioMachadoSchmittEibletal.2021, author = {Ravedutti Lucio Machado, Rafael and Schmitt, Jonas and Eibl, Sebastian and Eitzinger, Jan and Leißa, Roland and Hack, Sebastian and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and K{\"o}stler, Harald}, title = {tinyMD: Mapping molecular dynamics simulations to heterogeneous hardware using partial evaluation}, volume = {2021}, pages = {101425}, journal = {Journal of Computational Science}, number = {54}, publisher = {Elsevier}, address = {Amsterdam}, issn = {1877-7503}, doi = {https://doi.org/10.1016/j.jocs.2021.101425}, year = {2021}, language = {en} } @inproceedings{AmiriPerardGayotMembarthetal.2021, author = {Amiri, Puya and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Slusallek, Philipp and Leißa, Roland and Hack, Sebastian}, title = {FLOWER: a Comprehensive Dataflow Compiler for High-Level Synthesis}, booktitle = {Proceedings of the 2021 International Conference on Field-Programmable Technology (ICFPT)}, publisher = {IEEE}, address = {Piscataway (NJ)}, isbn = {978-1-6654-2010-5}, doi = {https://doi.org/10.1109/ICFPT52863.2021.9609930}, year = {2021}, language = {en} } @article{OezkanPerardGayotMembarthetal.2020, author = {{\"O}zkan, M. Akif and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Slusallek, Philipp and Leißa, Roland and Hack, Sebastian and Teich, J{\"u}rgen and Hannig, Frank}, title = {AnyHLS: High-Level Synthesis with Partial Evaluation}, volume = {39}, journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (ITCSDI)}, number = {11}, publisher = {IEEE}, address = {New York}, issn = {1937-4151}, doi = {https://doi.org/10.1109/TCAD.2020.3012172}, pages = {3202 -- 3214}, year = {2020}, language = {en} } @inproceedings{MuellerSchmidtHildebrandtetal.2020, author = {M{\"u}ller, Andr{\´e} and Schmidt, Bertil and Hildebrandt, Andreas and Membarth, Richard and Leißa, Roland and Kruse, Matthis and Hack, Sebastian}, title = {AnySeq: A High Performance Sequence Alignment Library based on Partial Evaluation}, booktitle = {Proceedings: 2020 IEEE 34th International Parallel and Distributed Processing Symposium (IPDPS 2020)}, publisher = {IEEE}, address = {Los Alamitos}, isbn = {978-1-7281-6876-0}, issn = {1530-2075}, doi = {https://doi.org/10.1109/IPDPS47924.2020.00109}, pages = {1030 -- 1040}, year = {2020}, language = {en} } @article{PerardGayotMembarthLeissaetal.2019, author = {P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Leißa, Roland and Hack, Sebastian and Slusallek, Philipp}, title = {Rodent: Generating Renderers without Writing a Generator}, volume = {38}, pages = {40}, journal = {ACM Transactions on Graphics (TOG)}, number = {4}, publisher = {ACM}, address = {New York}, issn = {1557-7368}, doi = {https://doi.org/10.1145/3306346.3322955}, year = {2019}, language = {en} } @inbook{MembarthDuttaHannigetal.2019, author = {Membarth, Richard and Dutta, Hritam and Hannig, Frank and Teich, J{\"u}rgen}, title = {Efficient Mapping of Streaming Applications for Image Processing on Graphics Cards}, booktitle = {Transactions on High-Performance Embedded Architectures and Compilers (Transactions on HiPEAC)}, editor = {Stenstr{\"o}m, Per and Silvano, Cristina and Bertels, Koen and Schulte, Michael}, publisher = {Springer}, address = {Berlin}, isbn = {978-3-662-58834-5}, doi = {https://doi.org/10.1007/978-3-662-58834-5_1}, pages = {1 -- 20}, year = {2019}, language = {en} } @article{LeissaBoescheHacketal.2018, author = {Leißa, Roland and Boesche, Klaas and Hack, Sebastian and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Slusallek, Philipp and M{\"u}ller, Andr{\´e} and Schmidt, Bertil}, title = {AnyDSL: a partial evaluation framework for programming high-performance libraries}, volume = {2}, pages = {119}, journal = {Proceedings of the ACM on Programming Languages}, number = {OOPSLA}, publisher = {ACM}, address = {New York}, issn = {2475-1421}, doi = {https://doi.org/10.1145/3276489}, year = {2018}, abstract = {This paper advocates programming high-performance code using partial evaluation. We present a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on a CPS-style intermediate representation. Our system exposes code generation for accelerators (vectorization/parallelization for CPUs and GPUs) via compiler-known higher-order functions that can be subjected to partial evaluation. This way, generic implementations can be instantiated with target-specific code at compile time. In our experimental evaluation we present three extensive case studies from image processing, ray tracing, and genome sequence alignment. We demonstrate that using partial evaluation, we obtain high-performance implementations for CPUs and GPUs from one language and one code base in a generic way. The performance of our codes is mostly within 10\%, often closer to the performance of multi man-year, industry-grade, manually-optimized expert codes that are considered to be among the top contenders in their fields.}, language = {en} } @inproceedings{OezkanPerardGayotMembarthetal.2018, author = {{\"O}zkan, M. Akif and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Slusallek, Philipp and Teich, J{\"u}rgen and Hannig, Frank}, title = {A Journey into DSL Design using Generative Programming}, booktitle = {Fifth International Workshop on FPGAs for Software Programmers (FSP 2018)}, subtitle = {FPGA Mapping of Image Border Handling through Refinement}, publisher = {VDE Verlag}, address = {Berlin}, isbn = {978-3-8007-4723-8}, url = {https://www.vde-verlag.de/proceedings-de/564723009.html}, pages = {64 -- 72}, year = {2018}, language = {en} } @inproceedings{SchmittKoestlerEitzingeretal.2018, author = {Schmitt, Jonas and K{\"o}stler, Harald and Eitzinger, Jan and Membarth, Richard}, title = {Unified Code Generation for the Parallel Computation of Pairwise Interactions Using Partial Evaluation}, booktitle = {Proceedings 17th International Symposium on Parallel and Distributed Computing, ISPDC 2018}, publisher = {IEEE}, address = {Piscataway (NJ)}, isbn = {978-1-5386-5330-2}, doi = {https://doi.org/10.1109/ISPDC2018.2018.00012}, pages = {17 -- 24}, year = {2018}, language = {en} } @inproceedings{PerardGayotMembarthSlusalleketal.2018, author = {P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Slusallek, Philipp and Moll, Simon and Leißa, Roland and Hack, Sebastian}, title = {A Data Layout Transformation for Vectorizing Compilers}, booktitle = {WPMVP'18: Proceedings of the 2018 4th Workshop on Programming Models for SIMD/Vector Processing}, editor = {Eitzinger, Jan and Brodman, James}, publisher = {ACM}, address = {New York}, isbn = {978-1-4503-5646-6}, doi = {https://doi.org/10.1145/3178433.3178440}, year = {2018}, language = {en} } @article{SchulerMembarthSlusallek2022, author = {Schuler, Manuela and Membarth, Richard and Slusallek, Philipp}, title = {XEngine: Optimal Tensor Rematerialization for Neural Networks in Heterogeneous Environments}, volume = {20}, pages = {17}, journal = {ACM Transactions on Architecture and Code Optimization}, number = {1}, publisher = {ACM}, address = {New York}, issn = {1544-3973}, doi = {https://doi.org/10.1145/3568956}, year = {2022}, abstract = {Memory efficiency is crucial in training deep learning networks on resource-restricted devices. During backpropagation, forward tensors are used to calculate gradients. Despite the option of keeping those dependencies in memory until they are reused in backpropagation, some forward tensors can be discarded and recomputed later from saved tensors, so-called checkpoints. This allows, in particular, for resource-constrained heterogeneous environments to make use of all available compute devices. Unfortunately, the definition of these checkpoints is a non-trivial problem and poses a challenge to the programmer—improper or excessive recomputations negate the benefit of checkpointing. In this article, we present XEngine, an approach that schedules network operators to heterogeneous devices in low memory environments by determining checkpoints and recomputations of tensors. Our approach selects suitable resources per timestep and operator and optimizes the end-to-end time for neural networks taking the memory limitation of each device into account. For this, we formulate a mixed-integer quadratic program (MIQP) to schedule operators of deep learning networks on heterogeneous systems. We compare our MIQP solver XEngine against Checkmate [12], a mixed-integer linear programming (MILP) approach that solves recomputation on a single device. Our solver finds solutions that are up to 22.5\% faster than the fastest Checkmate schedule in which the network is computed exclusively on a single device. We also find valid schedules for networks making use of both central processing units and graphics processing units if memory limitations do not allow scheduling exclusively to the graphics processing unit.}, language = {en} } @inproceedings{KenzelLemmeMembarthetal.2023, author = {Kenzel, Michael and Lemme, Stefan and Membarth, Richard and Kurtenacker, Matthias and Devillers, Hugo and Steinberger, Markus and Slusallek, Philipp}, title = {AnyQ: An Evaluation Framework for Massively-Parallel Queue Algorithms}, booktitle = {Proceedings: 2023 IEEE International Parallel and Distributed Processing Symposium: IPDPS 2023}, publisher = {IEEE}, address = {Piscataway}, isbn = {979-8-3503-3766-2}, doi = {https://doi.org/10.1109/IPDPS54959.2023.00079}, pages = {736 -- 745}, year = {2023}, language = {en} } @article{XuWangPerardGayotetal.2022, author = {Xu, Xiang and Wang, Lu and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and Li, Cuiyu and Yang, Chenglei and Slusallek, Philipp}, title = {Temporal Coherence-Based Distributed Ray Tracing of Massive Scenes}, volume = {30}, journal = {IEEE Transactions on Visualization and Computer Graphics}, number = {2}, publisher = {IEEE}, address = {Piscataway}, issn = {1941-0506}, doi = {https://doi.org/10.1109/TVCG.2022.3219982}, pages = {1489 -- 1501}, year = {2022}, language = {en} } @unpublished{RaveduttiLucioMachadoSchmittEibletal.2020, author = {Ravedutti Lucio Machado, Rafael and Schmitt, Jonas and Eibl, Sebastian and Eitzinger, Jan and Leißa, Roland and Hack, Sebastian and P{\´e}rard-Gayot, Ars{\`e}ne and Membarth, Richard and K{\"o}stler, Harald}, title = {tinyMD: A Portable and Scalable Implementation for Pairwise Interactions Simulations}, publisher = {arXiv}, address = {Ithaca}, doi = {https://doi.org/10.48550/arXiv.2009.07400}, year = {2020}, language = {en} } @article{XuMembarth2025, author = {Xu, Wenguang and Membarth, Richard}, title = {Exploration of Efficient Computation for Trajectory Planning via Fixed-Point Arithmetic}, volume = {37}, journal = {PARS-Mitteilungen 2025}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, issn = {0177-0454}, url = {https://dl.gi.de/items/6b2c0546-1081-40ab-b97b-052b60b8374f}, pages = {51 -- 61}, year = {2025}, language = {en} } @article{PfallerMembarth2025, author = {Pfaller, Tobias and Membarth, Richard}, title = {Exploiting Data Redundancy in Im2Col Convolutions}, volume = {37}, journal = {PARS-Mitteilungen 2025}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, issn = {0177-0454}, url = {https://dl.gi.de/items/156c727e-ec90-4809-9ce6-ee27cc89eeb0}, pages = {63 -- 70}, year = {2025}, language = {en} } @inproceedings{SanchezMoralesMembarthGaulletal.2019, author = {S{\´a}nchez Morales, Eduardo and Membarth, Richard and Gaull, Andreas and Slusallek, Philipp and Dirndorfer, Tobias and Kammenhuber, Alexander and Lauer, Christoph and Botsch, Michael}, title = {Parallel Multi-Hypothesis Algorithm for Criticality Estimation in Traffic and Collision Avoidance}, booktitle = {2019 IEEE Intelligent Vehicles Symposium (IV)}, publisher = {IEEE}, address = {Piscataway}, isbn = {978-1-7281-0560-4}, doi = {https://doi.org/10.1109/IVS.2019.8814015}, pages = {2164 -- 2171}, year = {2019}, language = {en} }