HIPAcc: A Domain-Specific Language and Compiler for Image Processing
Abstract
Domain-specific languages (DSLs) provide high-level and domain-specific abstractions that allow expressive and concise algorithm descriptions. Since the description in a DSL hides also the properties of the target hardware, DSLs are a promising path to target different parallel and heterogeneous hardware from the same algorithm description. In theory, the DSL description can capture all characteristics of the algorithm that are required to generate highly efficient parallel implementations. However, most frameworks do not make use of this knowledge and the performance cannot reach that of optimized library implementations. In this article, we present the HIPAccframework, a DSL and source-to-source compiler for image processing. We show that domain knowledge can be captured in the language and that this knowledge enables us to generate tailored implementations for a given target architecture. Back ends for CUDA, OpenCL, and Renderscript allow us to target discrete graphics processing units (GPUs) as well as mobile, embedded GPUs. Exploiting the captured domain knowledge, we can generate specialized algorithm variants that reach the maximal achievable performance due to the peak memory bandwidth. These implementations outperform state-of-the-art domain-specific languages and libraries significantly.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Cites
A Combined Corner and Edge Detector
Harris, C., & Stephens, M. (1988) · Procedings of the Alvey Vision Conference 1988 · doi:10.5244/c.2.23 · Cited by 12,901 · see citing works
Bilateral Filtering for Gray and Color Images
Tomasi, C., & Manduchi, R. (2002) · Sixth International Conference on Computer Vision (IEEE Cat. No.98CH36271) · doi:10.1109/iccv.1998.710815 · Cited by 8,177 · cited 2× · see citing works
“Consider the bilateral filter that combines a closeness component c and a similarity component s over a common sliding window [16].”
BackgroundMethodCompilers: Principles, Techniques, and Tools
Aho, A. V., Sethi, R., & Ullman, J. D. (1986) · Cited by 8,152 · see citing works
The Laplacian pyramid as a compact image code
Burt, P., & Adelson, E. (1983) · IEEE Transactions on Communications · doi:10.1109/tcom.1983.1095851 · Cited by 6,077 · see citing works
Williams, S., Waterman, A., & Patterson, D. A. (2009) · Communications of the ACM · doi:10.1145/1498765.1498785 · Cited by 2,484 · see citing works
Halstead, M. H. (1977) · CERN Document Server (European Organization for Nuclear Research) · Cited by 2,339 · see citing works
Russ, J. C. (2006) · CRC Press eBooks · doi:10.1201/9780203881095 · Cited by 2,113 · see citing works
High-Performance Compilers for Parallel Computing
Wolfe, M., Shanklin, C., & Ortega, L. (1995) · CERN Document Server (European Organization for Nuclear Research) · Cited by 1,288 · see citing works
Program development by stepwise refinement
Wirth, N. (1971) · Communications of the ACM · doi:10.1145/362575.362577 · Cited by 964 · see citing works
Intel threading building blocks : outfitting C++ for multi-core processor parallelism
Reinders, J. R. (2007) · Cited by 708 · see citing works
Handbook of Medical Image Processing and Analysis
Bankman, I. N. (2009) · Elsevier eBooks · doi:10.1016/b978-0-12-373904-9.x0001-4 · Cited by 453 · see citing works
Prefix sums and their applications
Blelloch, G. E. (2018) · Figshare · doi:10.1184/r1/6608579 · Cited by 379 · see citing works
From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming
Du, P., Weber, R., Łuszczek, P., Tomov, S. Z., Peterson, G. D., & Dongarra, J. J. (2011) · Parallel Computing · doi:10.1016/j.parco.2011.10.002 · Cited by 312 · see citing works
THE FINE STRUCTURE OF PSYCHOLOGICAL TIME
Stroud, J. M. (1967) · Annals of the New York Academy of Sciences · doi:10.1111/j.1749-6632.1967.tb55012.x · Cited by 306 · see citing works
Decoupling algorithms from schedules for easy optimization of image processing pipelines
Ragan‐Kelley, J., Adams, A., Paris, S., Levoy, M., Amarasinghe, S. P., & Durand, F. (2012) · ACM Transactions on Graphics · doi:10.1145/2185520.2185528 · Cited by 251 · see citing works
Handbook of image processing operators
Klette, R., & Zamperoni, P. (1996) · Medical Entomology and Zoology · Cited by 211 · see citing works
DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F. E., Aiken, A., Duraisamy, K., et al. (2011) · International Conference for High Performance Computing, Networking, Storage and Analysis (SC) · doi:10.1145/2063384.2063396 · Cited by 200 · see citing works
OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning
Sujeeth, A. K., Lee, H., Brown, K. J., Rompf, T., Chafi, H., Wu, M. C., Atreya, A. R., Odersky, M., & Olukotun, K. (2011) · Cited by 164 · see citing works
Efficient Computation of Optical Flow Using the Census Transform
Stein, F. (2004) · Lecture notes in computer science · doi:10.1007/978-3-540-28649-3_10 · Cited by 148 · see citing works
A domain-specific approach to heterogeneous parallelism
Chafi, H., Sujeeth, A. K., Brown, K. J., Lee, H., Atreya, A. R., & Olukotun, K. (2011) · ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming · doi:10.1145/1941553.1941561 · Cited by 122 · see citing works
McCool, M. D., Toit, S. D., Popa, T., Chan, B., & Moule, K. (2004) · ACM Transactions on Graphics · doi:10.1145/1015706.1015801 · Cited by 122 · see citing works
Karrenberg, R., & Hack, S. (2011) · Cited by 98 · see citing works
Language virtualization for heterogeneous parallel computing
Chafi, H., DeVito, Z., Moors, A., Rompf, T., Sujeeth, A. K., Hanrahan, P., Odersky, M., & Olukotun, K. (2010) · Conference on Object-Oriented Programming Systems, Languages, and Applications · doi:10.1145/1869459.1869527 · Cited by 96 · see citing works
Karrenberg, R., & Hack, S. (2011) · International Symposium on Code Generation and Optimization (CGO) · doi:10.1109/cgo.2011.5764682 · Cited by 65 · see citing works
1 Intel’s Array Building Blocks: A Retargetable, Dynamic Compiler and Embedded Language
Newburn, C. J., So, B., Liu, Z., McCool, M. D., Ghuloum, A. M., Toit, S. D., Wang, Z. G., Du, Z. H., Chen, Y., Wu, G., et al. (2014) · Cited by 58 · see citing works
Liszt: A domain specific language for building portable mesh-based PDE solvers
DeVito, Joubert, Palacios, Oakley, Medina, Barrientos, Elsen, Ham, Aiken, Duraisamy, et al. (2011) · IEEE International Conference on High Performance Computing, Data, and Analytics · Cited by 51 · see citing works
Generating Device-specific GPU Code for Local Operators in Medical Imaging
Membarth, R., Hannig, F., Teich, J., Körner, M., & Eckert, W. (2012) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2012.59 · Cited by 45 · see citing works
Self-citationCode generation from a domain-specific language for C-based HLS of hardware accelerators
Reiche, O., Schmid, M., Hannig, F., Membarth, R., & Teich, J. (2014) · International Conference on Hardware/Software Codesign and System Synthesis · doi:10.1145/2656075.2656081 · Cited by 42 · see citing works
Self-citationDeriving Efficient Data Movement from Decoupled Access/Execute Specifications
Howes, L., Lokhmotov, A., Donaldson, A. F., & Kelly, P. H. J. (2008) · Lecture notes in computer science · doi:10.1007/978-3-540-92990-1_14 · Cited by 35 · see citing works
An experiment comparing Fortran programming times with the software physics hypothesis
Gordon, R. D., & Halstead, M. H. (1976) · AFIPS National Computer Conference and Exposition (NCC) · doi:10.1145/1499799.1499927 · Cited by 28 · see citing works
Code Generation for Embedded Heterogeneous Architectures on Android
Membarth, R., Reiche, O., Hannig, F., & Teich, J. (2016) · Cited by 26 · see citing works
Self-citationA Generic Algorithm Template for Divide-and-Conquer in Multicore Systems
González, C. H., & Fraguela, B. B. (2010) · IEEE International Conference on High Performance Computing and Communications (HPCC) · doi:10.1109/hpcc.2010.24 · Cited by 23 · see citing works
Lepley, T., Paulin, P. G., & Flamand, É. (2013) · Compilers, Architecture, and Synthesis for Embedded Systems · doi:10.5555/2555729.2555735 · Cited by 16 · see citing works
Generating GPU Code from a High-Level Representation for Image Processing Kernels
Membarth, R., Lokhmotov, A., & Teich, J. (2012) · Lecture notes in computer science · doi:10.1007/978-3-642-29737-3_31 · Cited by 15 · see citing works
Self-citationCode generation for embedded heterogeneous architectures on android
Membarth, R., Reiche, O., Hannig, F., & Teich, J. (2014) · Design, Automation, and Test in Europe · doi:10.7873/date2014.099 · Cited by 13 · see citing works
Self-citationHigh-performance SIMT code generation in an active visual effects library
Cornwall, J. L. T., Howes, L., Kelly, P. H. J., Parsonage, P., & Nicoletti, B. (2009) · ACM International Conference on Computing Frontiers (CF) · doi:10.1145/1531743.1531772 · Cited by 12 · see citing works
Towards Metaprogramming for Parallel Systems on a Chip
Howes, L., Lokhmotov, A., Donaldson, A. F., & Kelly, P. H. J. (2010) · Lecture notes in computer science · doi:10.1007/978-3-642-14122-5_7 · Cited by 8 · see citing works
Lepley, T., Paulin, P. G., & Flamand, É. (2013) · International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES) · doi:10.1109/cases.2013.6662510 · Cited by 7 · see citing works
Flagged first, then by citations
3 of the 41 references couldn’t be matched to a known paper.
Cited by
Sorted by citations
Effective Extensible Programming: Unleashing Julia on GPUs
Besard, T., Foket, C., & Sutter, B. D. (2018) · IEEE Transactions on Parallel and Distributed Systems · doi:10.1109/tpds.2018.2872064 · Cited by 238 · see citing works
Spatial: a language and compiler for application accelerators
Koeplinger, D., Feldman, M., Prabhakar, R., Zhang, Y., Hadjis, S., Fiszel, R., Zhao, T. Y., Nardi, L., Pedram, A., Kozyrakis, C., et al. (2018) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/3192366.3192379 · Cited by 168 · see citing works
Lai, Y., Chi, Y., Hu, Y., Wang, J., Yu, C. H., Zhou, Y. J., Cong, J., & Zhang, Z. (2019) · ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA) · doi:10.1145/3289602.3293910 · Cited by 129 · see citing works
Programming Heterogeneous Systems from an Image Processing DSL
Pu, J., Bell, S., Yang, X., Setter, J., Richardson, S. E., Ragan‐Kelley, J., & Horowitz, M. (2017) · ACM Transactions on Architecture and Code Optimization · doi:10.1145/3107953 · Cited by 111 · see citing works
A survey on the practical use of UML for different software architecture viewpoints
Özkaya, M., & Erata, F. (2020) · Information and Software Technology · doi:10.1016/j.infsof.2020.106275 · Cited by 78 · see citing works
Parallel programming models for heterogeneous many-cores: a comprehensive survey
Fang, J., Huang, C., Tang, T., & Wang, Z. (2020) · CCF Transactions on High Performance Computing · doi:10.1007/s42514-020-00039-4 · Cited by 69 · see citing works
Pushing the Level of Abstraction of Digital System Design: A Survey on How to Program FPGAs
Sozzo, E. D., Conficconi, D., Zeni, A., Salaris, M., Sciuto, D., & Santambrogio, M. D. (2022) · ACM Computing Surveys · doi:10.1145/3532989 · Cited by 60 · see citing works
A DSL Compiler for Accelerating Image Processing Pipelines on FPGAs
Chugh, N., Vasista, V., Purini, S., & Bondhugula, U. K. R. (2016) · International Conference on Parallel Architectures and Compilation Techniques (PACT) · doi:10.1145/2967938.2967969 · Cited by 46 · see citing works
AnyDSL: a partial evaluation framework for programming high-performance libraries
Leißa, R., Boesche, K., Hack, S., Pérard‐Gayot, A., Membarth, R., Slusallek, P., Müller, A., & Schmidt, B. (2018) · Proceedings of the ACM on Programming Languages · doi:10.1145/3276489 · Cited by 46 · see citing works
Self-citationProgramming and Synthesis for Software-defined FPGA Acceleration: Status and Future Prospects
Lai, Y., Ustun, E., Xiang, S., Fang, Z., Rong, H., & Zhang, Z. (2021) · ACM Transactions on Reconfigurable Technology and Systems · doi:10.1145/3469660 · Cited by 45 · see citing works
The LEAP FPGA Operating System
Fleming, K. E., & Adler, M. (2016) · Springer eBooks · doi:10.1007/978-3-319-26408-0_14 · Cited by 43 · see citing works
Spatial: a language and compiler for application accelerators
Koeplinger, D., Feldman, M., Prabhakar, R., Zhang, Y., Hadjis, S., Fiszel, R., Zhao, T. Y., Nardi, L., Pedram, A., Kozyrakis, C., et al. (2018) · ACM SIGPLAN Notices · doi:10.1145/3296979.3192379 · Cited by 36 · see citing works
High-Level Synthesis for FPGAs—A Hardware Engineer’s Perspective
Lahti, S., & Hämäläinen, T. D. (2025) · IEEE Access · doi:10.1109/access.2025.3540320 · Cited by 32 · see citing works
ExaStencils: Advanced Multigrid Solver Generation
Lengauer, C., Apel, S., Bolten, M., Chiba, S., Rüde, U., Teich, J., Größlinger, A., Hannig, F., Köstler, H., Claus, L., et al. (2020) · Lecture notes in computational science and engineering · doi:10.1007/978-3-030-47956-5_14 · Cited by 32 · see citing works
Self-citationFrom Loop Fusion to Kernel Fusion: A Domain-Specific Approach to Locality Optimization
Qiao, B., Reiche, O., Hannig, F., & Teich, J. (2019) · IEEE/ACM International Symposium on Code Generation and Optimization · doi:10.1109/cgo.2019.8661176 · Cited by 34 · see citing works
Self-citationSoftware Architecture in Practice: Challenges and Opportunities
Wan, Z., Zhang, Y., Xia, X., Jiang, Y., & Lo, D. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616367 · Cited by 30 · see citing works
“…approaches for documenting the relevant views of software architecture to help practitioners successfully use it, maintain it, and build a software system from it, including unified modeling language, architecture description languages (e.g., [58]), and domain-specific languages (e.g., [59]).”
BackgroundHiFlipVX: An Open Source High-Level Synthesis FPGA Library for Image Processing
Kalms, L., Podlubne, A., & Göhringer, D. (2019) · Lecture notes in computer science · doi:10.1007/978-3-030-17227-5_12 · Cited by 29 · see citing works
Generating FPGA-based image processing accelerators with Hipacc: (Invited paper)
Reiche, O., Özkan, M. A., Membarth, R., Teich, J., & Hannig, F. (2017) · International Conference on Computer Aided Design · doi:10.1109/iccad.2017.8203894 · Cited by 27 · see citing works
Self-citationShallow embedding of DSLs via online partial evaluation
Leißa, R., Boesche, K., Hack, S., Membarth, R., & Slusallek, P. (2015) · ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE) · doi:10.1145/2814204.2814208 · Cited by 26 · see citing works
Self-citationAutomatic Kernel Fusion for Image Processing DSLs
Qiao, B., Reiche, O., Hannig, F., & Teich, J. (2018) · International Workshop on Software and Compilers for Embedded Systems (SCOPES) · doi:10.1145/3207719.3207723 · Cited by 24 · see citing works
Self-citationFPGA-based accelerator design from a domain-specific language
Özkan, M. A., Reiche, O., Hannig, F., & Teich, J. (2016) · International Conference on Field Programmable Logic and Applications (FPL) · doi:10.1109/fpl.2016.7577357 · Cited by 24 · see citing works
Self-citationA Safari through FPGA-based Neural Network Compilation and Design Automation Flows
Plagwitz, P., Hannig, F., Strobel, M., Strohmeyer, C., & Teich, J. (2021) · IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) · doi:10.1109/fccm51124.2021.00010 · Cited by 23 · see citing works
Self-citationSchedule Synthesis for Halide Pipelines on GPUs
Sioutas, S., Stuijk, S., Basten, T., Corporaal, H., & Somers, L. (2020) · ACM Transactions on Architecture and Code Optimization · doi:10.1145/3406117 · Cited by 19 · see citing works
Compiling high performance recursive filters
Chaurasia, G., Ragan‐Kelley, J., Paris, S., George Drettakis, B., & Durand, F. (2015) · High Performance Graphics · doi:10.1145/2790060.2790063 · Cited by 18 · see citing works
Signals in the Cells: Multimodal and Contextualized Machine Learning Foundations for TherapeuticsPreprint
Velez-Arce, A., Lin, X., Li, M. M., Huang, K., Gao, W., Fu, T., Pentelute, B. L., Kellis, M., & Žitnik, M. (2024) · bioRxiv (Cold Spring Harbor Laboratory) · doi:10.1101/2024.06.12.598655 · Cited by 19 · see citing works
Transpilers: A Systematic Mapping Review of Their Usage in Research and Industry
Fuertes, A. B., Pérez, M., & Meza, J. (2023) · Applied Sciences · doi:10.3390/app13063667 · Cited by 15 · see citing works
Fuzzy-rough assisted refinement of image processing procedure for mammographic risk assessment
Qu, Y., Fu, Q., Shang, C., Deng, A., Reyer Zwiggelaar, A., George, M., & Shen, Q. (2020) · Applied Soft Computing · doi:10.1016/j.asoc.2020.106230 · Cited by 15 · see citing works
Optimizing memory bandwidth exploitation for OpenVX applications on embedded many-core accelerators
Tagliavini, G., Haugou, G., Marongiu, A., & Luca Benini, C. (2015) · Journal of Real-Time Image Processing · doi:10.1007/s11554-015-0544-0 · Cited by 13 · see citing works
Neda: Supporting Direct Inter-Core Neighbor Data Exchange in GPUs
Mahani, N., Sadrosadati, M., Falahati, H., Barkhordar, M., & Sarbazi‐Azad, H. (2018) · IEEE Computer Architecture Letters · doi:10.1109/lca.2018.2873679 · Cited by 13 · see citing works
BRASIL: A High-Integrity GPGPU Toolchain for Automotive Systems
Trompouki, M. M., & Kosmidis, L. (2019) · IEEE International Conference on Computer Design: VLSI in Computers and Processors (ICCD) · doi:10.1109/iccd46524.2019.00094 · Cited by 12 · see citing works
Performance Prediction of Multigrid-Solver Configurations
Grebhahn, A., Siegmund, N., Köstler, H., & Apel, S. (2016) · Lecture notes in computational science and engineering · doi:10.1007/978-3-319-40528-5_4 · Cited by 12 · see citing works
Programming tensor cores from an image processing DSL
Sioutas, S., Stuijk, S., Basten, T., Somers, L., & Corporaal, H. (2020) · International Workshop on Software and Compilers for Embedded Systems (SCOPES) · doi:10.1145/3378678.3391880 · Cited by 10 · see citing works
Loop Parallelization Techniques for FPGA Accelerator Synthesis
Reiche, O., Özkan, M. A., Hannig, F., Teich, J., & Schmid, M. (2017) · Journal of Signal Processing Systems · doi:10.1007/s11265-017-1229-7 · Cited by 10 · see citing works
Self-citationUsing high-level synthesis for rapid design of video processing pipes
Güzel, A. E., Levent, V. E., Tosun, M., Özkan, M. A., Akgün, T., Büyükaydın, D., Erbaş, C., & Uğurdağ, H. F. (2016) · IEEE East-West Design & Test Symposium (EWDTS) · doi:10.1109/ewdts.2016.7807644 · Cited by 9 · see citing works
Huff, D., Dai, S. X., & Hanrahan, P. (2021) · IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) · doi:10.1109/fccm51124.2021.00030 · Cited by 9 · see citing works
Auto-vectorization for image processing DSLs
Reiche, O., Kobylko, C., Hannig, F., & Teich, J. (2017) · ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES) · doi:10.1145/3078633.3081039 · Cited by 9 · see citing works
Self-citationCabrera, A. M., Hitefield, S. D., Kim, J., Lee, S., Miniskar, N. R., & Vetter, J. S. (2021) · IEEE High Performance Extreme Computing Conference · doi:10.1109/hpec49654.2021.9622794 · Cited by 9 · see citing works
Systems of Partial Differential Equations in ExaSlang
Schmitt, C., Kuckuk, S., Hannig, F., Teich, J., Köstler, H., Rüde, U., & Lengauer, C. (2016) · Lecture notes in computational science and engineering · doi:10.1007/978-3-319-40528-5_3 · Cited by 8 · see citing works
Self-citationSynthesis and optimization of image processing accelerators using domain knowledge
Reiche, O., Häublein, K., Reichenbach, M., Schmid, M., Hannig, F., Teich, J., & Fey, D. (2015) · Journal of Systems Architecture · doi:10.1016/j.sysarc.2015.09.004 · Cited by 8 · see citing works
Self-citationEfficient Application of Tensor Core Units for Convolving Images
Groth, S., Teich, J., & Hannig, F. (2021) · International Workshop on Software and Compilers for Embedded Systems (SCOPES) · doi:10.1145/3493229.3493305 · Cited by 8 · see citing works
Self-citationThe Best of Both Worlds: Combining CUDA Graph with an Image Processing DSL
Qiao, B., Özkan, M. A., Teich, J., & Hannig, F. (2020) · ACM/IEEE Design Automation Conference (DAC) · doi:10.1109/dac18072.2020.9218531 · Cited by 8 · see citing works
Self-citationHigh-Level Synthesis for Hardware/Software Co-Design of Distributed Smart Camera Systems
Streit, F.-J., Letras, M., Schid, M., Falk, J., Wildermann, S., & Teich, J. (2017) · International Conference on Distributed Smart Cameras · doi:10.1145/3131885.3131932 · Cited by 7 · see citing works
Self-citationAccurate and robust tracking of rigid objects in real time
Böttger, T., & Steger, C. T. (2020) · Journal of Real-Time Image Processing · doi:10.1007/s11554-020-00978-9 · Cited by 7 · see citing works
FLOWER: A comprehensive dataflow compiler for high-level synthesis
Amiri, P., Pérard‐Gayot, A., Membarth, R., Slusallek, P., Leißa, R., & Hack, S. (2021) · International Conference on Field-Programmable Technology (FPT) · doi:10.1109/icfpt52863.2021.9609930 · Cited by 7 · see citing works
Self-citationLightweight, generative variant exploration for high-performance graphics Applications
Selgrad, K., Lier, A., Köferl, F., Stamminger, M., & Lohmann, D. (2015) · ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE) · doi:10.1145/2814204.2814220 · Cited by 6 · see citing works
Automatic Generation of Spatial Accelerator for Tensor Algebra
Jia, L., Luo, Z., Lu, L., & Liang, Y. E. (2022) · IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · doi:10.1109/tcad.2022.3209949 · Cited by 6 · see citing works
GPotion: An embedded DSL for GPU programming in Elixir
Bois, A. R. D., & Cavalheiro, G. G. H. (2023) · doi:10.1145/3624309.3624314 · Cited by 6 · see citing works
ImageCL: An image processing language for performance portability on heterogeneous systems
Falch, T. L., & Elster, A. C. (2016) · International Conference on High Performance Computing & Simulation (HPCS) · doi:10.1109/hpcsim.2016.7568385 · Cited by 6 · see citing works
Falch, T. L., & Elster, A. C. (2017) · Concurrency and Computation Practice and Experience · doi:10.1002/cpe.4384 · Cited by 6 · see citing works
Goossens, B. (2018) · International Journal of Circuit Theory and Applications · doi:10.1002/cta.2494 · Cited by 6 · see citing works
RaTrace: simple and efficient abstractions for BVH ray traversal algorithms
Pérard‐Gayot, A., Weier, M., Membarth, R., Slusallek, P., Leißa, R., & Hack, S. (2017) · ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE) · doi:10.1145/3136040.3136044 · Cited by 5 · see citing works
Self-citationLet Coarse-Grained Resources Be Shared: Mapping Entire Neural Networks on FPGAs
Juang, T.-H., Schlaak, C., & Dubach, C. (2023) · ACM Transactions on Embedded Computing Systems · doi:10.1145/3609109 · Cited by 5 · see citing works
RaTrace: simple and efficient abstractions for BVH ray traversal algorithms
Pérard‐Gayot, A., Weier, M., Membarth, R., Slusallek, P., Leißa, R., & Hack, S. (2017) · ACM SIGPLAN Notices · doi:10.1145/3170492.3136044 · Cited by 5 · see citing works
Self-citationNourazar, M., Booth, B. G., & Goossens, B. (2023) · Journal of Real-Time Image Processing · doi:10.1007/s11554-023-01384-7 · Cited by 5 · see citing works
Enabling OpenVX support in mW-scale parallel accelerators
Tagliavini, G., Haugou, G., Marongiu, A., & Luca Benini, C. (2016) · International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES) · doi:10.1145/2968455.2968518 · Cited by 5 · see citing works
Hok: Higher-Order GPU kernels in Elixir
Bois, A. R. D., Perlin, T., Antunes, F. P., & Cavalheiro, G. G. H. (2024) · doi:10.5753/sblp.2024.3690 · Cited by 4 · see citing works
FAUPU - A design framework for the development of programmable image processing architectures
Reichenbach, M., Lieske, T., Vaas, S., Häublein, K., & Fey, D. (2015) · International Conference on ReConFigurable Computing and FPGAs (ReConFig) · doi:10.1109/reconfig.2015.7393309 · Cited by 4 · see citing works
Unveiling kernel concurrency in multiresolution filters on GPUs with an image processing DSL
Qiao, B., Reiche, O., Teich, J., & Hannig, F. (2020) · doi:10.1145/3366428.3380773 · Cited by 4 · see citing works
Self-citationTransitioning Spiking Neural Network Simulators to Heterogeneous Hardware
Nguyen, Q. A. P., Andelfinger, P., Tan, W. J., Cai, W., & Knoll, A. (2021) · ACM Transactions on Modeling and Computer Simulation · doi:10.1145/3422389 · Cited by 4 · see citing works
Li, Y., Bao, L., Huang, K., Wu, C. Q., & Li, X. (2023) · Journal of Systems and Software · doi:10.1016/j.jss.2023.111913 · Cited by 4 · see citing works
Task-DAG Support in Single-Source PHAST Library
Peccerillo, B., & Bartolini, S. (2019) · International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM) · doi:10.1145/3303084.3309496 · Cited by 4 · see citing works
Bitwidth customization in image processing pipelines using interval analysis and SMT solvers
Purini, S., Benara, V., Choudhury, Z., & Bondhugula, U. K. R. (2020) · doi:10.1145/3377555.3377899 · Cited by 4 · see citing works
HipaccVX: wedding of OpenVX and DSL-based code generation
Özkan, M. A., Ok, B., Qiao, B., Teich, J., & Hannig, F. (2020) · Journal of Real-Time Image Processing · doi:10.1007/s11554-020-01015-5 · Cited by 4 · see citing works
Self-citationSlidingConv: Domain-Specific Description of Sliding Discrete Cosine Transform Convolution for Halide
Kanetaka, Y., Takagi, H., Maeda, Y., & Fukushima, N. (2023) · IEEE Access · doi:10.1109/access.2023.3345660 · Cited by 3 · see citing works
Flow Driven GPGPU Programming combining Textual and Graphical Programming
Hoegg, T., Fiedler, G., Koehler, C., & Kolb, A. (2016) · International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM) · doi:10.1145/2883404.2883412 · Cited by 3 · see citing works
Compiling Algorithms for Heterogeneous Systems
Bell, S., Pu, J., Hegarty, J., & Horowitz, M. (2018) · Synthesis lectures on computer architecture · doi:10.2200/s00816ed1v01y201711cac043 · Cited by 3 · see citing works
Ying, C., & Li, J. (2022) · Security and Communication Networks · doi:10.1155/2022/7502239 · Cited by 3 · see citing works
RetractedA High-Performance Image Processing DSL for Heterogeneous Architectures
Selgrad, K., Lier, A., Dörntlein, J., Reiche, O., & Stamminger, M. (2016) · doi:10.5555/3005729.3005734 · Cited by 3 · see citing works
Self-citationGoossens, B., Luong, H. Q., Aelterman, J., & Philips, W. R. (2018) · Design, Automation, and Test in Europe · doi:10.23919/date.2018.8342216 · Cited by 3 · see citing works
The HighPerMeshes framework for numerical algorithms on unstructured grids
Alhaddad, S., Förstner, J., Groth, S., Grünewald, D., Grynko, Y., Hannig, F., Kenter, T., Pfreundt, F., Plessl, C., Schotte, M., et al. (2021) · Concurrency and Computation Practice and Experience · doi:10.1002/cpe.6616 · Cited by 3 · see citing works
Self-citationAgne, A., Platzner, M., Plessl, C., Happe, M., & Lübbers, E. (2016) · Springer eBooks · doi:10.1007/978-3-319-26408-0_13 · Cited by 3 · see citing works
Auto-vectorization for image processing DSLs
Reiche, O., Kobylko, C., Hannig, F., & Teich, J. (2017) · ACM SIGPLAN Notices · doi:10.1145/3140582.3081039 · Cited by 3 · see citing works
Self-citationFryer, J., & Garcia, P. (2023) · Journal of Signal Processing Systems · doi:10.1007/s11265-023-01885-5 · Cited by 2 · see citing works
GPotion: Embedding GPU programming in Elixir
Bois, A. R. D., & Cavalheiro, G. G. H. (2025) · Journal of Computer Languages · doi:10.1016/j.cola.2025.101323 · Cited by 2 · see citing works
SkePU-DNN: Algorithmic Skeleton Programming for Deep Learning on Heterogeneous Systems
Qummar, S., Ernstsson, A., Keßler, C. W., & Sysoev, O. (2025) · IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum · doi:10.1109/ipdpsw66978.2025.00068 · Cited by 2 · see citing works
Rapid customization of image processors using Halide
Korhonen, V., Jääskeläinen, P., Koskela, M., Viitanen, T. T., & Takala, J. (2015) · IEEE Global Conference on Signal and Information Processing · doi:10.1109/globalsip.2015.7418272 · Cited by 2 · see citing works
Transitioning Spiking Neural Network Simulators to Heterogeneous Hardware
Nguyen, Q. A. P., Andelfinger, P., Cai, W., & Knoll, A. (2019) · ACM/IEEE/SCS Workshop on Principles of Advanced and Distributed Simulation (PADS) · doi:10.1145/3316480.3322893 · Cited by 2 · see citing works
Parallel Programming Models for Heterogeneous Many-Cores : A SurveyPreprint
Fang, J., Huang, C., Tang, T., & Wang, Z. (2020) · arXiv (Cornell University) · doi:10.48550/arxiv.2005.04094 · Cited by 2 · see citing works
Yu, M., Ma, G., Wang, Z., Tang, S., Chen, Y., Wang, Y., Liu, Y., Jia, D., & Wei, Z. (2024) · CCF Transactions on High Performance Computing · doi:10.1007/s42514-023-00159-7 · Cited by 1 · see citing works
Fast Generation of Custom Floating-Point Spatial Filters on FPGAs
Campos, N., Edirisinghe, E. A., Chesnokov, S., & Larkin, D. (2024) · IEEE Access · doi:10.1109/access.2024.3486066 · Cited by 1 · see citing works
Exploring data flow design and vectorization with oneAPI for streaming applications on CPU+GPU
Campos, C., Asenjo, R., & Navarro, A. G. (2025) · The Journal of Supercomputing · doi:10.1007/s11227-024-06891-3 · Cited by 1 · see citing works
Caasper: providing accessible FPGA-acceleration over the network
Morales, V. M., Brakni, Y., Horrein, P.-H., & Baghdadi, A. (2015) · International Workshop on Rapid System Prototyping (RSP) · doi:10.1109/rsp.2015.7416549 · Cited by 1 · see citing works
Fickenscher, J., Hannig, F., & Teich, J. (2019) · Lecture notes in computer science · doi:10.1007/978-3-030-18656-2_6 · Cited by 1 · see citing works
Self-citationMeng, F. (2022) · Measurement · doi:10.1016/j.measurement.2022.111033 · Cited by 1 · see citing works
Underwater Image Processing and Target Detection Algorithm Based on Deep Learning
Zheng, Y., & Yang, Y. (2022) · Lecture notes on data engineering and communications technologies · doi:10.1007/978-3-031-05484-6_46 · Cited by 1 · see citing works
ArcvaVX: OpenVX Framework for Adaptive Reconfigurable Computer Vision Architectures
Kalms, L., Nickel, M., & Göhringer, D. (2023) · Lecture notes in computer science · doi:10.1007/978-3-031-42921-7_7 · Cited by 1 · see citing works
Efficient parallel reduction on GPUs with Hipacc
Qiao, B., Reiche, O., Özkan, M. A., Teich, J., & Hannig, F. (2020) · International Workshop on Software and Compilers for Embedded Systems (SCOPES) · doi:10.1145/3378678.3391885 · Cited by 1 · see citing works
Self-citationWu, S., Dong, X., Chen, H., Wang, L., Wang, Q., & Zhu, Z. (2022) · The Computer Journal · doi:10.1093/comjnl/bxac017 · Cited by 1 · see citing works
Wang, C., Yao, C., Zhao, S., Zhao, S., & Qiang, B. (2022) · Mobile Information Systems · doi:10.1155/2022/9699162 · Cited by 1 · see citing works
RetractedSpecial issue on heterogeneous real-time image processing
Fey, D., & Hannig, F. (2018) · Journal of Real-Time Image Processing · doi:10.1007/s11554-018-0763-2 · Cited by 1 · see citing works
Self-citationHighly Abstracted Video Processing Language Meets Multi-Grain Auto-Parallelization
Furuhashi, K., Noda, K., Ono, K., & Tsumura, T. (2016) · International Conference on Signal-Image Technology & Internet-Based Systems (SITIS) · doi:10.1109/sitis.2016.28
Model-Based System Design and Evaluation of Image Processing Architectures with SimTAny Framework
Deitsch, A., & Schneider, V. (2018) · Lecture notes in computer science · doi:10.1007/978-3-319-74947-1_29
A Study of Retrieval Methods of Multi-Dimensional Images in Different Domains
Garg, S. (2018) · International Journal of Advanced Computer Science and Applications · doi:10.14569/ijacsa.2018.091041
IML - An Image Manipulation Language
Vieira, C., & de Medeiros, S. Q. (2019) · doi:10.1145/3355378.3355382
An Efficient Approach for Image Border Handling on GPUs via Iteration Space Partitioning
Qiao, B., Teich, J., & Hannig, F. (2021) · IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum · doi:10.1109/ipdpsw52791.2021.00067
Self-citationDigital Media Design for Dynamic Gesture Interaction with Image Processing
Xiong, X., & Hou, Y. (2022) · Journal of Electrical and Computer Engineering · doi:10.1155/2022/4056622
Domain specific language for finite element modeling and simulation
Feng, Y., Abell, J. A., Yang, H., Wang, H., & Jeremić, B. (2024) · Advances in Engineering Software · doi:10.1016/j.advengsoft.2024.103666
Metric-based fuzzy rough sets for brain tumor magnetic resonance imaging classification
Cui, M., Li, F., Yao, W., & Peng, G. (2025) · Hacettepe Journal of Mathematics and Statistics · doi:10.15672/hujms.1659064
JOSer: Just-In-Time Object Serialization for Heavy Java Serialization Workloads
Yang, C., Nie, P., Lin, Z., Wang, W., Yu, Q., Wan, C., Jiang, H., & Chen, Y. (2026) · International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) · doi:10.1145/3779212.3790179
- Authors
- Membarth, R., Reiche, O., Hannig, F., Teich, J., Korner, M., & Eckert, W.
- Affiliations
- German Research Centre for Artificial Intelligence (DE)
- Friedrich-Alexander-Universität Erlangen-Nürnberg (DE)
- Siemens (Germany) (DE)
- Venue
- IEEE Transactions on Parallel and Distributed Systems
- Published
- 2016-01-01
- Volume
- 27
- Issue
- 1
- Pages
- 210-224
- ISSN
- 1045-9219 (ISSN-L)
- OpenAlex
- W2075745057
- Semantic Scholar
- 57d70e927c9a1c2fc6c71f90336b071aa459eeb3
- Cited by
- 102
- References
- 41
- Citations by year
- 2026: 2 · 2025: 5 · 2024: 5 · 2023: 9 · 2022: 8 · 2021: 10 · 2020: 13 · 2019: 9 · 2018: 12 · 2017: 9 · 2016: 12 · 2015: 8
- FWCI
- 22.53
- Type
- journal article
- Language
- en
- Open access
- closed
- Locations
- IEEE Transactions on Parallel and Distributed Systems (publishedVersion)
- Funders
- German Research Foundation
- Research Training Group
- Topics
- Physical Sciences › Computer Science › Hardware and Architecture › Parallel Computing and Optimization Techniques
- Physical Sciences › Computer Science › Hardware and Architecture › Embedded Systems Design Techniques
- Physical Sciences › Computer Science › Software › Model-Driven Software Engineering Techniques
- Keywords
- domain-specific languages, image processing, source-to-source compiler, GPU programming, CUDA, OpenCL, heterogeneous hardware, memory bandwidth optimization
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review