The GNU libstdc++ parallel mode: software engineering considerations. The C++ Standard Library implementation provided with the free GNU C++ compiler, libstdc++, provides a ”parallel mode” as of version 4.3. Using this mode enables existing serial code to take advantage of many parallelized STL algorithms, an approach to making use of multi-core processors which are now or will soon will be ubiquitous. This paper describes the software engineering issues discovered during implementation, the results of user testing, and presents possible solutions to outstanding issues. Design issues with configuring the software environment to a wide variety of multi-core hardware options, influencing algorithm and parameter choices at compile and run time, standards compliance, and the interplay between execution speed, the executable size, the library code size, and the compilation time are addressed.

This software is also peer reviewed by journal TOMS.