Я не знаю ни одной реализации STL, которая бы использовала несколько ядер.Даже если он существует, вам нужно убедиться, что дополнительная сложность в конечном итоге принесет вам чистую выгоду.Типы алгоритмов, которые предоставляет STL (сортировка, накопление и т. Д.), Выигрывают от параллелизма только в довольно экстремальных условиях (например,> 10 миллионов элементов).Если вы используете параллелизм только на уровне STL, вы, вероятно, будете разочарованы результатами.
Я бы посмотрел на TBB Intel (http://threadingbuildingblocks.org/), который обеспечивает основанную на задачах структуру параллелизма. Он поощряет разработку алгоритмовэто применимо к планированию на основе задач, а не просто к листовым функциям (например, parallel_sort (), хотя TBB действительно предоставляет одну).