Logo

  RPA is a portable C++ library of STL-compatible multi-threaded algorithms. It allows to easily parallelize existing programs based on STL algorithms, and tries to be as close as possible to sequential architectures. At the same time, it allows to use OS-specific synchronization primitives, and gives the possibility to add template specializations for more performance, based on containers and data types.
 

Frequently Asked Questions (FAQ) Design notes
User's Manual Doxygen documentation
Sourceforge page


RPA does not enforce a specific architectures and allows an error-and-trial approach to parallelization. At any time, it is possible to revert to a pure sequential behaviour, thus greatly reducing the risks due to parallelization. Its 100% templates approach takes the most of any existing C++ compiler. It does not need any language extension nor library, and is fully portable in the sense that any type of mutex, threads or condition variable can be used.

It does not enforce specific containers or architectural changes, and tries to match exactly STL algorithms and philosophy. It assumes that parallelization is a risky technology, that can be brought only to working sequential programs, a long time after they have been designed, while they are still being maintained, and only with hazardous success.

Support This Project SourceForge.net Logo