SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Mon 16 Nov 2020 10:15 - 10:45 at SPLASH-V - HILT workshop Monday sessions Chair(s): Luis Miguel Pinho, Tucker Taft, Richard Wai

The OpenMP specification defines a set of compiler directives, library routines, and environment variables that together represent the OpenMP Application Programming Interface, and is currently defined for C, C++, and Fortran. The forthcoming version of Ada, currently dubbed Ada 202X, includes lightweight parallelism features, in particular parallel blocks and parallel loops. All versions of Ada, since its inception in 1983, have included “tasking,” which corresponds to what are traditionally considered “heavyweight” parallelism features, or simply “concurrency” features. Ada “tasks” typically map to what are called “kernel threads,” in that the operating system manages them and schedules them. However, one of the goals of lightweight parallelism is to reduce overhead by doing more of the management outside the kernel of the operating system, using a light-weight-thread (LWT) scheduler. The OpenMP library routines support both levels of threading, but for Ada 202X, the main interest is in making use of OpenMP for its lightweight thread scheduling capabilities.

Given the above, for Ada 202X we are recommending a layered mapping to OpenMP (or other LWT scheduler), where upon seeing the syntax for a parallel construct, the compiler generates calls on a top layer which is independent of the particular LWT scheduler that will be controlling the light-weight threads. Below this layer would be an LWT-scheduler-independent API, which implements the API using a “plug-in” architecture. Specific LWT schedulers could be “plugged in” to this API implementation, and handle the various calls through the API. In the absence of any plugin, the API implementation would fall back to a purely sequential implementation.

This talk will present this layered approach,which should allow Ada 202X users to take advantage of the OpenMP features of interest, and to accommodate evolution of the OpenMP standard as well as the ability to use other LWT schedulers which might come from, say, an RTOS vendor. We believe this layered approach might be a model for other languages that want to provide a binding to OpenMP capabilities, while not requiring heavy use of compiler directives as is done in current mappings to C and Fortran, which can hurt readability and do not tend to be as composable as syntax.

Monday HILT zoom roomMonday HILT YouTubeHILT Clowdr Break Room

  • Harvard College 1971-1975, AB Summa Cum Laude Chemistry
  • Harvard Radcliffe Student Computing Center 1975-1979, Systems Programmer
  • Intermetrics/AverStar/AverCom 1980-2002, Chief Scientist
  • SofCheck 2002-2011, Founder and CTO
  • AdaCore 2011-present, VP, Director of Language Research, Model-Based Toolset Product Architect

Mon 16 Nov

Displayed time zone: Central Time (US & Canada) change

09:00 - 13:00
HILT workshop Monday sessionsHILT at SPLASH-V
Chair(s): Luis Miguel Pinho ISEP P.PORTO, Tucker Taft AdaCore, United States, Richard Wai ANNEXI-STRAYLINE

Monday HILT zoom roomMonday HILT YouTubeHILT Clowdr Break Room

09:00
60m
Keynote
Monday Keynote: What's new with the OpenMP API Version 5.1
HILT
Michael Klemm OpenMP ARB
10:00
15m
Coffee break
Monday early coffee break
HILT

10:15
30m
Talk
A Layered Mapping of Ada 202X to OpenMP
HILT
Tucker Taft AdaCore, United States
10:45
30m
Talk
Parallel Multiple Double Precision to Solve Polynomial Systems
HILT
Jan Verschelde University of Illinois at Chicago
11:15
15m
Coffee break
Monday later coffee break
HILT

11:30
30m
Talk
Using the Tapir Compiler Intermediate Representation to Support Efficient Parallel Languages
HILT
TB Schardl MIT CSAIL
12:00
60m
Other
Monday Panel: OpenMP for High Integrity systems: Moving responsibility from users to vendors
HILT
P: Sara Royuela Barcelona Supercomputing Center, P: Michael Klemm OpenMP ARB, P: Eduardo Quiñones Barcelona Supercomputing Center (BSC), P: Tucker Taft AdaCore, United States, P: Dirk Ziegenbein Robert Bosch GmbH