N3724 A Parallel Algorithms Library
C++14後のParallelism TSでは、並列アルゴリズムの導入が検討されています。
いま考えられているのは、アルゴリズムの実装を実行ポリシー(タグ)で分岐しようというもの。
std::vector<int> vec = ... // これまで通りの、シーケンシャルソート std::sort(vec.begin(), vec.end()); // 明示的なシーケンシャルソート std::sort(std::seq, vec.begin(), vec.end()); // 並列実行の許可 std::sort(std::par, vec.begin(), vec.end());
これは、CUDAのThrustライブラリが行っている設計を踏襲したものです。
このような作りにしておけば、今後の拡張がしやすいそうです(ベクトル化、GPUでの実行、複数サーバーに分散した実行等)。