{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:44:57Z","timestamp":1773193497191,"version":"3.50.1"},"reference-count":18,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2016,8,4]],"date-time":"2016-08-04T00:00:00Z","timestamp":1470268800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100004875","name":"DFG","doi-asserted-by":"publisher","award":["RU 422\/15-1"],"award-info":[{"award-number":["RU 422\/15-1"]}],"id":[{"id":"10.13039\/100004875","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100004875","name":"DFG","doi-asserted-by":"publisher","award":["RU 422\/15-2"],"award-info":[{"award-number":["RU 422\/15-2"]}],"id":[{"id":"10.13039\/100004875","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computation"],"abstract":"<jats:p>Domain-specific languages (DSLs) have the potential to provide an intuitive interface for specifying problems and solutions for domain experts. Based on this, code generation frameworks can produce compilable source code. However, apart from optimizing execution performance, parallelization is key for pushing the limits in problem size and an essential ingredient for exascale performance. We discuss necessary concepts for the introduction of such capabilities in code generators. In particular, those for partitioning the problem to be solved and accessing the partitioned data are elaborated. Furthermore, possible approaches to expose parallelism to users through a given DSL are discussed. Moreover, we present the implementation of these concepts in the ExaStencils framework. In its scope, a code generation framework for highly optimized and massively parallel geometric multigrid solvers is developed. It uses specifications from its multi-layered external DSL ExaSlang as input. Based on a general version for generating parallel code, we develop and implement widely applicable extensions and optimizations. Finally, a performance study of generated applications is conducted on the JuQueen supercomputer.<\/jats:p>","DOI":"10.3390\/computation4030027","type":"journal-article","created":{"date-parts":[[2016,8,4]],"date-time":"2016-08-04T10:17:33Z","timestamp":1470305853000},"page":"27","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":15,"title":["Automatic Generation of Massively Parallel Codes from ExaSlang"],"prefix":"10.3390","volume":"4","author":[{"given":"Sebastian","family":"Kuckuk","sequence":"first","affiliation":[{"name":"Department of Computer Science, Friedrich-Alexander Universit\u00e4t Erlangen-N\u00fcrnberg, 91058 Erlangen, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Harald","family":"K\u00f6stler","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Friedrich-Alexander Universit\u00e4t Erlangen-N\u00fcrnberg, 91058 Erlangen, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2016,8,4]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Gysi, T., Osuna, C., Fuhrer, O., Bianco, M., and Schulthess, T.C. (2015, January 15\u201320). STELLA: A Domain-Specific Tool for Structured Grid Methods in Weather and Climate Models. Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Austin, TX, USA.","DOI":"10.1145\/2807591.2807627"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Tang, Y., Chowdhury, R.A., Kuszmaul, B.C., Luk, C.K., and Leiserson, C.E. (2011, January 4\u20136). The Pochoir Stencil Compiler. Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), San Jose, CA, USA.","DOI":"10.1145\/1989493.1989508"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Christen, M., Schenk, O., and Burkhart, H. (2011, January 16\u201322). PATUS: A Code Generation and Autotuning Framework for Parallel Iterative Stencil Computations on Modern Microarchitectures. Proceedings of the IEEE Parallel & Distributed Processing Symposium (IPDPS), Anchorage, AK, USA.","DOI":"10.1109\/IPDPS.2011.70"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"De Vito, Z., Joubert, N., Palaciosy, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., and Duraisamy, K. (2011, January 12\u201318). Liszt: A Domain Specific Language for Building Portable Mesh-Based PDE Solvers. Proceedings of the 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Seattle, WA, USA.","DOI":"10.1145\/2063384.2063396"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Henretty, T., Veras, R., Franchetti, F., Pouchet, L.N., Ramanujam, J., and Sadayappan, P. (2013, January 10\u201314). A Stencil Compiler for Short-Vector SIMD Architectures. Proceedings of the ACM International Conference on Supercomputing (ICS\u201913), Eugene, OR, USA.","DOI":"10.1145\/2464996.2467268"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Membarth, R., Hannig, F., Teich, J., K\u00f6rner, M., and Eckert, W. (2012, January 25\u201329). Generating Device-Specific GPU Code for Local Operators in Medical Imaging. Proceedings of the IEEE Parallel & Distributed Processing Symposium (IPDPS), Venice, Italy.","DOI":"10.1109\/IPDPS.2012.59"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"429","DOI":"10.1145\/2786763.2694364","article-title":"PolyMage: Automatic Optimization for Image Processing Pipelines","volume":"43","author":"Mullapudi","year":"2015","journal-title":"ACM SIGARCH Comput. Archit. News"},{"key":"ref_8","first-page":"553","article-title":"ExaStencils: Advanced Stencil-Code Engineering","volume":"Volume 8806","author":"Lengauer","year":"2014","journal-title":"Euro-Par 2014: Parallel Processing Workshops"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Schmitt, C., Kuckuk, S., Hannig, F., K\u00f6stler, H., and Teich, J. (2014, January 17). ExaSlang: A Domain-Specific Language for Highly Scalable Multigrid Solvers. Proceedings of the Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), New Orleans, LA, USA.","DOI":"10.1109\/WOLFHPC.2014.11"},{"key":"ref_10","unstructured":"Awile, O., Mitrovic, M., Reboux, S., and Sbalzarini, I.F. (2013, January 18\u201320). A domain-specific programming language for particle simulations on distributed-memory parallel computers. Proceedings of the III International Conference on Particle-Based Methods, Fundamentals and Applications (Particles 2013), Stuttgart, Germany."},{"key":"ref_11","unstructured":"Lei\u00dfa, R., Boesche, K., Hack, S., Membarth, R., and Slusallek, P. Shallow embedding of DSLs via online partial evaluation. Proceedings of the 14th International Conference on Generative Programming: Concepts & Experiences (GPCE)."},{"key":"ref_12","unstructured":"Schmitt, C., Kuckuk, S., K\u00f6stler, H., Hannig, F., and Teich, J. (July, January 30). An Evaluation of Domain-Specific Language Technologies for Code Generation. Proceedings of International Conference on Computational Science and Its Applications (ICCSA), Guimar\u00e3es, Portugal."},{"key":"ref_13","unstructured":"Kronawitter, S., and Lengauer, C. (2015). Optimizations Applied by the ExaStencils Code Generator, Faculty of Informatics and Mathematics, University of Passau. Technical Report MIP-1502."},{"key":"ref_14","unstructured":"Schmitt, C., Schmid, M., Hannig, F., Teich, J., Kuckuk, S., and K\u00f6stler, H. (2015, January 19\u201321). Generation of Multigrid-Based Numerical Solvers for FPGA Accelerators. Proceedings of the 2nd International Workshop on High-Performance Stencil Computations (HiStencils), Amsterdam, The Netherlands."},{"key":"ref_15","unstructured":"F\u00fcrlinger, K., Glass, C., Kn\u00fcpfer, A., Tao, J., H\u00fcnich, D., Idrees, K., Maiterth, M., Mhedheb, Y., and Zhou, H. (2014). Euro-Par 2014: Parallel Processing Workshops, Springer."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"173","DOI":"10.1142\/S0129626411000151","article-title":"OmpSs: A Proposal for Programming Heterogeneous Multi-Core Architectures","volume":"21","author":"Duran","year":"2011","journal-title":"Parallel Process. Lett."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"91","DOI":"10.1145\/167962.165874","article-title":"CHARM++: A Portable Concurrent Object Oriented System Based on C++","volume":"28","author":"Kale","year":"1993","journal-title":"SIGPLAN Not."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"187","DOI":"10.1002\/cpe.1631","article-title":"StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures","volume":"23","author":"Augonnet","year":"2011","journal-title":"Concurr. Comput.: Pract. Exp."}],"container-title":["Computation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2079-3197\/4\/3\/27\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T19:27:43Z","timestamp":1760210863000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2079-3197\/4\/3\/27"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,8,4]]},"references-count":18,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2016,9]]}},"alternative-id":["computation4030027"],"URL":"https:\/\/doi.org\/10.3390\/computation4030027","relation":{},"ISSN":["2079-3197"],"issn-type":[{"value":"2079-3197","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,8,4]]}}}