Есть такая прекрасная библиотека OMPTL
Суть в том что она предоставляет параллельные версии алгоритмов STL, c той же сигнатурой
Т.е. вообще ничего переписывать не надо, заменяем, например,
std::sort(...) или
std::find_if(...) на
omptl::sort(...),
omptl::find_if(...)
Пользуемся лет 5, багов за время эксплуатации найдено небыло, рекомендую всем кто хочет получить параллелизм с минимумом вложений
http://tech.unige.ch/cvmlcpp/source/doc/OMPTL.html