Magpie 0.10 Utilities for multi-core execution

From Marc A. Criley we get the first release of his Magpie framework. Magpie is an:

Ada framework providing work sharing/seeking services for distributing work amongst CPU cores on multi-core machines.

Or as stated in the release announcement:

Magpie is a collection of generic procedures that distributes subranges of iterative application-defined processing across the processors of a multi-core CPU to achieve true concurrency and therefore increased application performance.

Magpie depends on an Ada 2012 feature (processor-affinity), so it is currently restricted to compilers that support this specific feature. At the time of writing known compilers are:

  • GNAT for Linux
  • GNAT-AUX for the *BSD’s

If I’ve missed some, please let me know, and I’ll update accordingly.