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.