Visual compelling demonstrations to showcase parrallel features

Hello everyone,

With the arrival of Ada 2022’s parallel features (parallel loops, blocks, and expressions) in gcc, it would be great to have visually compelling demonstrations to showcase their potential—both in terms of performance and code simplicity.

I’d like to propose the development of an application that runs, side by side, a sequential and a parallel version of a visually engaging algorithm.

At first glance, it would be a kind of glxgears, displaying FPS to evaluate your platform’s performance.
But in reality, the goals would be:

  • to demonstrate the simplicity and elegance of Ada 2022’s parallel constructs;

  • to provide an immediate comparison of performance benefits, even for non‑technical audiences;

  • and, if possible, to provide a way to experiment with parameters such as chunking, number of cores used, possible use of the GPU, etc.

The overall layout could be simple:

  • on the left, the reference (sequential) implementation;

  • on the right, the parallel implementation (with parameter settings, if any);

  • sample code available through a “Help” section (I hope non‑Ada people will be struck by the readability).

The animated part should be visually appealing, and could be, for example:

  • “The weekend ray tracer”
    César has already written a version (cf. Learning Ada with Raytraced Teapots), and Paul as well, as far as I remember. Refactoring the code to use the new parallel features should be feasible. (this one has my preference)
  • Particle System Simulation
    Simulate particles (fire, smoke, sand), with each particle updated in parallel, and interactive controls to adjust the number of particles and observe performance scaling.
  • Fractal Generator
    Compute Mandelbrot/Julia sets with interactive zooming.

This could be a strong advocacy asset, illustrating both classic concurrent programming (because running both halves of the screen in separate tasks) and the new parallel programming capabilities.
It could also easily be turned into a blog post or a short video.

2 Likes

You can start from here: GitHub - AldanTanneo/sunbeams: Toy CPU raytracer in Ada · GitHub

1 Like