The time zone for all times mentioned at the DATE website is CEST – Central Europe Summer Time (UTC+1). AoE = Anywhere on Earth.

W06.2 Software development, libraries and languages

Session Start
Session End
Session chair
Dionysios Diamantopoulos, Zurich Research Laboratory, Zurich, Switzerland, Switzerland

This session turns to software support in form of programming models, runtime adaptability, modern libraries and programming abstractions for heterogeneous HPC and big data systems. 

Presentations

W06.2.1 Methods and Tools for Accelerating Image Processing Applications on FPGA-based Systems

Start
End
Speaker
Diana Göhringer, TU Dresden, Germany

Field Programmable Gate Arrays (FPGAs) are a promising platform for accelerating image processing as well as machine learning applications due to their parallel architecture, reconfigurability and energy-efficiency. However, programming such platforms can be quite cumbersome and time consuming compared to CPUs or GPUs. This presentation shows methods and tools for reducing the programming effort for image processing applications on FPGA-based systems. Our design methodology is based on the Open-VX standard and includes an open-source High Level Synthesis (HLS) library for generating image processing and neural network accelerators called HiFlipVX. The importance of such an approach is shown with application examples from different research projects.

W06.2.2 GridTools: High-level HPC Libraries for Weather and Climate

Start
End
Speaker
Hannes Vogt, ETH Zurich / CSCS, Switzerland

GridTools is a set of C++ libraries and Python tools to enable weather and climate scientists to express their computations in a high-level hardware-agnostic way, while providing highly efficient execution of the codes. 
Born to address the problem of portability of performance, the original GridTools offers a lower level C++ interface, which is in production use at the Swiss national weather service, and supports different multicore architectures and GPU vendors and generations. However, C++ is not the language of choice in the weather and climate community. Therefore, a new effort has been started to provide declarative-style Python interfaces to analyze and transform the user code into efficient hardware-specific C++ code, utilizing the existing GridTools C++ libraries. In this presentation we will review the different approaches and highlight on their pros and cons. 

W06.2.3 Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-Accelerated Climate Simulation

Start
End
Speaker
Tobias Grosser, University of Edinburgh, United Kingdom

Most compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complemented with vaguely defined IR-like data structures. This IR is commonly low-level and close to machine instructions. As a result, optimizations relying on domain-specific information are either not possible or require complex analysis to recover the missing information. In contrast, multi-level rewriting instantiates a hierarchy of dialects (IRs), lowers programs level-by-level, and performs code transformations at the most suitable level. We demonstrate the effectiveness of this approach for the weather and climate domain. In particular, we develop a prototype compiler and design stencil- and GPU-specific dialects based on a set of newly introduced design principles. We find that two domain-specific optimizations (500 lines of code) realized on top of LLVM’s extensible MLIR compiler infrastructure suffice to outperform state-of-the-art solutions. In essence, multi-level rewriting promises to herald the age of specialized compilers composed from domain- and target-specific dialects implemented on top of a shared infrastructure.

W06.2.4 climbing EVEREST: dEsign enVironmEnt foR Extreme-Scale big data analyTics on heterogeneous platforms

Start
End
Speaker
Gianluca Palermo, Politecnico di Milano - DEIB, Italy

This talk introduces the consortium-wide effort doing within the EVEREST H2020 project. The EVEREST project aims at developing a holistic design environment that simplifies the programmability of High-Performance Big Data analytics for heterogeneous, distributed, scalable, and secure systems. Our effort is concentrated on the use of a “data-driven” design approach together with domain-specific language extensions, hardware-accelerated AI, and efficient run-time monitoring while considering a unified hardware/software paradigm. The project targets a wide range of applications from weather analysis-based production for the renewable energy market trading, to air-quality monitoring of industrial sites, and real-time traffic modeling for transportation in smart cities.