paraffin was specially designed as an accessible and handy set of Ada 2005 generics.
paraffin was built in order to add parallelism to iterative loops and recursive code. Now you can make use of this package to further improve your development process.
Here are some key features of "paraffin":
· Recursive generics to add parallelism to recursive code
· Supports Work-Sharing, Work-Seeking, and Work-Stealing parallelism
· Stack safe recursion avoids stack overflow, let allows recursion to complete
· Supports reduction capabilities to produce summary result for parallelism
Requirements:
· Ada 2005
What's New in This Release: [ read full changelog ]
· The same technique that was applied to iterative work stealing that significantly improved performance, was also applied to the work seeking generics, which also resulted in performance gains.
· Another benefit of this change is that the work seeking mechanisms are now more hidden inside the generic, and not exposed to client code.
· As a result, the modifications needed to parallelize a sequential loop is the same for work-sharing, work-seeking, and work-stealing.
· It mostly just involves wrapping the loop in a nested procedure, and then passing the start and finish indexes of the loop as parameters to the nested procedure.
· A Minimum_Seek parameter replaces the Other_Workers parameter. This parameter indicates the minimum number of iterations that can be
· "seeked" at one time by an idle worker. This parameter can be left unspecified, in which case, a reasonable default will automatically be assigned.
· As a result of these changes, the Work-seeking iterative tests generally seem to out per...