Packaging and Examples for the Ada 2022 Parallel features implementation
The Ada User Awards committee has nominated for an award the task of making the new implementation of the Ada 2022 parallel features (parallel loop and parallel block) more readily available, with examples and benchmarks to demonstrate its use and performance.
Here are some relevant resources:
- Ada 2022 Reference Manual
- GitHub site for Ada 2022 Parallel features implementation
- GitHub site for Light Weight Threading (LWT) library
- High level overview of Ada 2022 lightweight parallelism model
- Alire Ada Library Repository and tool
The implementation of the Ada 2022 Parallel features was initiated as part of a 2025 Google Summer of Code effort. Work has continued since then, and the implementation supports all features of parallel blocks, and all but the parallel container iteration features of the parallel loop.
Motivation
The parallel features of Ada 2022 were defined as part of an Ada community effort that extended from 2012 to 2022, and were documented as part of the release of the Ada 2022 ISO standard. However, because the features had not yet been implemented by the existing Ada compiler vendors, a separate effort was undertaken to implement these features as part of a 2025 Google Summer of Code effort. Currently this work is available in a GitHub repository, but it is not as readily available as it could be, because it is lacking easily downloadable executable versions of a compiler incorporating these features. Also, the examples included with the work are more aimed at testing the features, than at demonstrating them or at providing examples of realistic use.
Goals
The overall goal is to simplify the use of these newly implemented features by Ada programmers interested in testing out the implementation, as well as incorporating parallel constructs into their Ada programs. We believe this goal can be accomplished by having ready-to-download executable versions of the GNAT GCC Ada compiler incorporating these features, for Linux, Mac, and Windows, plus easy to build benchmark and demo programs using these features. The ideal demos would include simple yet realistic use of the features, as well as more dramatic examples providing graphic output illustrating parallel execution. The results should be available on GitHub, GitLab, or other widely-used open source repository. In addition, the Alire repository and toolset have made it easier to share toolchains and libraries between Ada developers, so releases of the results of this project should be indexed by Alire as well.
Milestones
Part 1 (Award: 150 EUR):
Create downloadable executable versions for Linux, Mac, and Windows of a GNAT GCC Ada compiler incorporating the implementation of the Ada 2022 parallel features. Include documentation for the process whereby other developers could do this for themselves, and be redone whenever a significant new release of GCC occurs. Make these executables available via GitHub, GitLab, or other widely-used repository. Index these releases on the Alire repository.
Part 2 (Award: 75 EUR):
Create realistic examples of use of the Ada 2022 parallel features, ideally incorporated into a tutorial document. The learn.adacore.com is an interesting model to use for such a tutorial, as is the Wikibook for Ada Programming. Parallel programming techniques such as divide and conquer, data-parallel (chunking and tiling) approaches, and branch and bound should be included in the examples.
Part 3 (Award: 75 EUR):
Create demonstrations of the Ada 2022 parallel features that use graphic output to show the performance and/or explain the process of parallel programming using these features, including the parallel programming techniques mentioned in Part 2 above, but with an emphasis on making the parallelism visible graphically.
Guidelines and further indications
The general Ada Awards Guidelines apply to this proposal for those who want to participate. For open, technical discussions on this topic or project, feel free to open topics under the Active Projects forum category.
Best regards,
The Ada Awards Committee.