Julian Brandner
Julian Brandner, M. Sc.
-
OpenMP for reconfigurable heterogenous architectures
(Third Party Funds Group – Sub project)
Overall project: OpenMP für rekonfigurierbare heterogene Architekturen
Term: 01.11.2017 - 31.12.2023
Funding source: Bundesministerium für Bildung und Forschung (BMBF)
URL: https://www2.cs.fau.de/research/ORKA/High-Performance Computing (HPC) is an important component of Europe's capacity for innovation and it is also seen as a building block of the digitization of the European industry. Reconfigurable technologies such as Field Programmable Gate Array (FPGA) modules are gaining in importance due to their energy efficiency, performance, and flexibility.
There is also a trend towards heterogeneous systems with accelerators utilizing FPGAs. The great flexibility of FPGAs allows for a large class of HPC applications to be realized with FPGAs. However, FPGA programming has mainly been reserved for specialists as it is very time consuming. For that reason, the use of FPGAs in areas of scientific HPC is still rare today.
In the HPC environment, there are various programming models for heterogeneous systems offering certain types of accelerators. Common models include OpenCL (http://www.opencl.org), OpenACC (https://www.openacc.org) and OpenMP (https://www.OpenMP.org). These standards, however, are not yet available for the use with FPGAs.Goals of the ORKA project are:
- Development of an OpenMP 4.0 compiler targeting heterogeneous computing platforms with FPGA accelerators in order to simplify the usage of such systems.
- Design and implementation of a source-to-source framework transforming C/C++ code with OpenMP 4.0 directives into executable programs utilizing both the host CPU and an FPGA.
- Utilization (and improvement) of existing algorithms mapping program code to FPGA hardware.
- Development of new (possibly heuristic) methods to optimize programs for inherently parallel architectures.
In 2018, the following important contributions were made:
- Development of a source-to-source compiler prototype for the rewriting of OpenMP C source code (cf. goal 2).
- Development of an HLS compiler prototype capable of translating C code into hardware. This prototype later served as starting point for the work towards the goals 3 and 4.
- Development of several experimental FPGA infrastructures for the execution of accelerator cores (necessary for the goals 1 and 2).
In 2019, the following significant contributions were achieved:
- Publication of two peer-reviewed papers: "OpenMP on FPGAs - A Survey" and "OpenMP to FPGA Offloading Prototype using OpenCL SDK".
- Improvement of the source-to-source compiler in order to properly support OpenMP-target-outlining for FPGA targets (incl. smoke tests).
- Completion of the first working ORKA-HPC prototype supporting a complete OpenMP-to-FPGA flow.
- Formulation of a genome for the pragma-based genetic optimization of the high-level synthesis step during the ORKA-HPC flow.
- Extension of the TaPaSCo composer to allow for hardware synchronization primitives inside of TaPaSCo systems.
In 2020, the following significant contributions were achieved:
- Improvement of the Genetic Optimization.
- Engineering of a Docker container for reliable reproduction of results.
- Integration of software components from project partners.
- Development of a plugin architecture for Low-Level-Platforms.
- Implementation and integration of two LLP plugin components.
- Broadening of the accepted subset of OpenMP.
- Enhancement of the test suite.
In 2021, the following significant contributions were achieved:
- Enhancement of the benchmark suite.
- Enhancement of the test suite.
- Successful project completion with live demo for the project sponsor.
- Publication of the paper "ORKA-HPC - Practical OpenMP for FPGAs".
- Release of the source code and the reproduction package.
- Enhancement of the accepted OpenMP subset with new clauses to control the FPGA related transformations.
- Improvement of the Genetic Optimization.
- Comparison of the estimated performance data given by the HLS and the real performance.
- Synthesis of a linear regression model for performance prediction based on that comparison.
- Implementation of an infrastructure for the translation of OpenMP reduction clauses.
- Automated translation of the OpenMP pragma `parallel for` into a parallel FPGA system.
In 2022, the following significant contributions were achieved:
- Generation and publication of an extensive dataset on HLS area estimates and actual performance.
- Creation and comparative evaluation of different regression models to predict actual system performance from early (area) estimates.
- Evaluation of the area estimates generated by the HLS.
- Publication of the paper “Reducing OpenMP to FPGA Round-trip Times with Predictive Modelling”.
- Development of a method to detect and remove redundant read operations in FPGA stencil codes based on the polyhedral model.
- Implementation of the method for ORKA-HPC.
- Quantitative evaluation of that method to show the strength of the method and to show when to use it.
- Publication of the paper “Employing Polyhedral Methods to Reduce Data Movement in FPGA Stencil Codes”.
In 2023, the following significant contributions were achieved:
- Development and implementation of an optimization method for canonical loop shells (e.g. from OpenMP target regions) for FPGA hardware generation using HLS. The core of the method is a loop restructuring based on the polyhedral model that uses loop tiling, pipeline processing, and port widening to avoid unnecessary data transfers from/to the onboard RAM of the FPGA, increase the number of parallel active circuits, maximize data throughput to FPGA board RAM, and hide read/write latencies.
- Quantitative evaluation of the strengths and application areas of this optimization method using ORKA-HPC.
- Publication of the method in the conference paper "Employing polyhedral methods to optimize stencils on FPGAs with stencil-specific caches, data reuse, and wide data bursts".
- Publication of a reproduction package for the optimization method.
- Presentation of the method at the conference "14th International Workshop on Polyhedral Compilation Techniques" in a half-hour talk.
- Development of a method for the fully automatic integration of multi-purpose caches into FPGA solutions generated from OpenMP.
- Evaluation of multi-purpose caches in combination with HLS generated hardware blocks.
- Publication of the paper "Multipurpose Cacheing to Accelerate OpenMP Target Regions on FPGAs" (Best Paper Award).
-
International Collegiate Programming Contest at the FAU
(Own Funds)
Term: since 01.11.2002
URL: http://www2.informatik.uni-erlangen.de/research/ICPC/Since 1977 the International Collegiate Programming Contest (ICPC) takes place every year. Teams of three students try to solve about 13 programming problems within five hours. What makes this task even harder, is that there is only one computer available per team. The problems demand for solid knowledge of algorithms from all areas of computer science and mathematics, e.g., graphs, combinatorics, strings, algebra, and geometry. To solve the problems, the teams need to find a correct and efficient algorithm and implement it.The ICPC consists of three rounds. First, each participating university hosts a local contest to find the up to three teams that are afterwards competing in one of the various regional contests. Germany lies in the catchment area of the Northwestern European Regional Contest (NWERC) with competing teams from Great Britain, Benelux, Scandinavia, etc. The winners of all regionals in the world (and some second place holders) advance to the world finals in spring of the following year (2023 in Sharm El Sheikh, Egypt).
On January 28, 2023, the Winter Contest took place once again. 75 teams from 16 universities participated, including 13 teams from Erlangen. Our best team finished 10th. On June 17, the German Collegiate Programming Contest was held at several German universities, with 14 teams from Erlangen. The best FAU team secured the 11th position out of 105 participating teams from all over Germany. The NWERC took place on November 26 in Delft. FAU was represented by 3 teams, which finished on the 32nd, 96th, and 125th positions among 143 participating teams. As usual, we also conducted the main seminar "Hello World! - Advanced Programming" in 2023.
Ausgewählte Kapitel aus dem Übersetzerbau
Basic data
Title | Ausgewählte Kapitel aus dem Übersetzerbau |
---|---|
Short text | inf2-ueb3 |
Module frequency | nur im Wintersemester |
Semester hours per week | 2 |
Es ist keine Anmeldung erforderlich.
Parallel groups / dates
In der Vorlesung werden Aspekte des Übersetzerbaus beleuchtet, die über die Vorlesungen "Grundlagen des Übersetzerbaus" und "Optimierungen in Übersetzern" hinausgehen.
Voraussichtliche Themen sind:
- Übersetzer u. Optimierungen für funktionale Programmiersprachen
- Übersetzung aspektorientierter Programmiersprachen
- Erkennung von Wettlaufsituationen
- Software Watermarking
- Statische Analyse und symbolische Ausführung
- Binden von Objektcode und Unterstützung für dynamische Bibliotheken
- Strategien zur Ausnahmebehandlung
- Just-in-Time-Übersetzer
- Speicherverwaltung und Speicherbereinigung
- LLVM
Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner Tobias Heineken Florian Mayer Daniela Novac |
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 08:15 - 09:45 | 16.10.2024 - 05.02.2025 | 25.12.2024 01.01.2025 |
|
Übungen zu Ausgewählte Kapitel aus dem Übersetzerbau
Basic data
Title | Übungen zu Ausgewählte Kapitel aus dem Übersetzerbau |
---|---|
Short text | inf2-ueb3-ex |
Module frequency | nur im Wintersemester |
Semester hours per week | 2 |
Blockveranstaltung n.V. nach der Vorlesungszeit.
Parallel groups / dates
Die Übungen zu Übersetzerbau 3 stellen eine Ergänzung zur Vorlesung dar. In der Vorlesung wird unter anderem die Architektur und Funktionsweise einer virtuellen Maschine beleuchtet. In den Übungen soll dies praktisch umgesetzt werden. Hierzu sollen die Studenten in einer Blockveranstaltung eine kleine virtuelle Maschine selbst implementieren. Den Anfang bildet das Einlesen des Byte-Codes und am Ende soll ein funktionsfähiger optimierender Just-in-Time-Übersetzer entstehen.
Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Tobias Heineken Florian Mayer Julian Brandner |
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
nach Vereinbarung - | - |
|
Übungen zu Parallele und Funktionale Programmierung
Basic data
Title | Übungen zu Parallele und Funktionale Programmierung |
---|---|
Short text | UePFP |
Module frequency | nur im Wintersemester |
Semester hours per week | 2 |
Parallel groups / dates
10. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Tue, 12:00 - 14:00 | 15.10.2024 - 04.02.2025 | 24.12.2024 31.12.2024 |
14201.00.001 |
4. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Tue, 12:15 - 13:45 | 15.10.2024 - 04.02.2025 | 24.12.2024 31.12.2024 |
11302.02.133 |
11. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Tue, 16:00 - 18:00 | 15.10.2024 - 04.02.2025 | 24.12.2024 31.12.2024 |
14201.00.001 |
14. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 10:00 - 12:00 | 16.10.2024 - 05.02.2025 | 01.01.2025 25.12.2024 |
11302.00.156 |
9. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Mon, 16:00 - 18:00 | 14.10.2024 - 03.02.2025 | 06.01.2025 30.12.2024 23.12.2024 |
14201.00.001 |
5. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Fri, 12:15 - 13:45 | 18.10.2024 - 07.02.2025 | 01.11.2024 27.12.2024 20.12.2024 03.01.2025 |
11302.02.133 |
8. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Thu, 14:00 - 16:00 | 17.10.2024 - 06.02.2025 | 26.12.2024 02.01.2025 |
11302.00.153 |
6. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Thu, 16:15 - 17:45 | 17.10.2024 - 06.02.2025 | 26.12.2024 02.01.2025 |
11302.02.133 |
1. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 12:15 - 13:45 | 16.10.2024 - 05.02.2025 | 01.01.2025 25.12.2024 |
11302.02.133 |
2. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 08:15 - 09:45 | 16.10.2024 - 05.02.2025 | 25.12.2024 01.01.2025 |
11302.02.133 |
12. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 14:00 - 16:00 | 16.10.2024 - 05.02.2025 | 01.01.2025 25.12.2024 |
14201.00.001 |
13. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Prof. Dr. Michael Philippsen Julian Brandner David Schwarzbeck |
Maximum number of participants: 25
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Thu, 16:00 - 18:00 | 17.10.2024 - 06.02.2025 | 26.12.2024 02.01.2025 |
14201.00.001 |
7. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Wed, 16:15 - 17:45 | 16.10.2024 - 05.02.2025 | 25.12.2024 01.01.2025 |
11302.02.133 |
15. Parallelgruppe
Semester hours per week | 2 |
---|---|
Teaching language | German |
Responsible |
Julian Brandner Prof. Dr. Michael Philippsen David Schwarzbeck |
Maximum number of participants: 40
Date and Time | Start date - End date | Cancellation date | Lecturer(s) | Comment | Room |
---|---|---|---|---|---|
wöchentlich Tue, 10:15 - 11:45 | 15.10.2024 - 04.02.2025 | 31.12.2024 24.12.2024 |
2024
Multilayer Multipurpose Caches for OpenMP Target Regions on FPGAs
Proceedings of the 20th International Workshop on OpenMP, IWOMP 2024 (Perth, Australia, 23.09.2024 - 25.09.2024)
In: Espinosa, A., Klemm, M., de Supinski, B.R., Cytowski, M., Klinkenberg, J. (ed.): OpenMP: Advancing OpenMP for Future Accelerators, Cham: 2024
DOI: 10.1007/978-3-031-72567-8_6
BibTeX: Download
, , :
Multilayer Multipurpose Caches for OpenMP Target Regions on FPGAs [Data set]
(2024)
DOI: 10.5281/zenodo.12755510
BibTeX: Download
(online publication)
, , :
Employing Polyhedral Methods to Optimize Stencils on FPGAs with Stencil-specific Caches, Data Reuse, and Wide Data Bursts
14th International Workshop on Polyhedral Compilation Techniques, (IMPACT 2024, in conjunction with HiPEAC 2024) (München, 17.01.2024)
DOI: 10.48550/arXiv.2401.13645
URL: https://impact-workshop.org/impact2024/#mayer24-fpgas
BibTeX: Download
, , :
Employing polyhedral methods to optimize stencils on FPGAs with stencil-specific caches, data reuse, and wide data bursts [Reproduction Package]
(2024)
DOI: 10.5281/zenodo.10396084
BibTeX: Download
(online publication)
, , :
2023
Multipurpose Cacheing to Accelerate OpenMP Target Regions on FPGAs (Best Paper Award)
Proceedings of the 19th International Workshop on OpenMP, IWOMP 2023 (Bristol, GBR, 13.09.2023 - 15.09.2023)
In: Simon McIntosh-Smith, Tom Deakin, Michael Klemm, Bronis R. de Supinski, Jannis Klinkenberg (ed.): OpenMP: Advanced Task-Based, Device and Compiler Programming 2023
DOI: 10.1007/978-3-031-40744-4_10
BibTeX: Download
, , :
Multipurpose Cacheing to Accelerate OpenMP Target Regions on FPGAs [Data set]
14114 (2023), p. 147 - 162
ISSN: 0302-9743
DOI: 10.5281/zenodo.8055889
BibTeX: Download
(online publication)
, , :
Employing Polyhedral Methods to Reduce Data Movement in FPGA Stencil Codes
Languages and Compilers for Parallel Computing (LCPC 2022) (Chicago, IL, 12.10.2022 - 14.10.2022)
In: Charith Mendis, Lawrence Rauchwerger (ed.): Proc. of the 35rd Intl. Workshop on Languages and Compilers for Parallel Computing (LCPC 2022), Cham: 2023
DOI: 10.1007/978-3-031-31445-2_4
BibTeX: Download
, , :
2022
Reducing OpenMP to FPGA Round-trip Times with Predictive Modelling
18th International Workshop on OpenMP (IWOMP 2022) (Chattanooga, TN, 27.09.2022 - 30.09.2022)
In: Michael Klemm, Bronis R. de Supinski, Jannis Klinkenberg, Brandon Neth (ed.): OpenMP in a Modern World: From Multi-device Support to Meta Programming 2022
DOI: 10.1007/978-3-031-15922-0
BibTeX: Download
, , :
Reducing OpenMP to FPGA Round-trip Times with Predictive Modelling [Data set]
Zenodo (2022)
DOI: 10.5281/zenodo.7534795
BibTeX: Download
(online publication)
, , :
The ORKA-HPC Compiler — Practical OpenMP for FPGAs
34th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2021) (Newark, DE, 13.10.2021 - 14.10.2021)
In: Xiaoming Li, Sunita Chandrasekaran (ed.): Proceedings of the 34th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2021), Cham: 2022
DOI: 10.1007/978-3-030-99372-6
URL: https://lcpc2021.github.io/pre_workshop_papers/Mayer_lcpc21.pdf
BibTeX: Download
, , , , :
2021
Efficient Retrieval of Music Recordings Using Graph-Based Index Structures
In: Signals 2 (2021), p. 336-352
ISSN: 2624-6120
DOI: 10.3390/signals2020021
BibTeX: Download
, , :
2018
An Open Source Tool for Creating Model Files for Virtual Volume Rendering in PDF Documents
In: Maier A., Deserno T., Handels H., Maier-Hein K., Palm C., Tolxdorff T. (ed.): Informatik aktuell, Berlin, Heidelberg: Springer Vieweg, 2018, p. 133-138 (Bildverarbeitung für die Medizin 2018)
ISBN: 978-3-662-56536-0
DOI: 10.1007/978-3-662-56537-7_43
URL: https://link.springer.com/chapter/10.1007%2F978-3-662-56537-7_43
BibTeX: Download
, , , :