C++ 编译器支持 std::execution(并行 STL 算法)
C++ compiler support for std::execution (parallel STL algorithms)
我想使用 std::sort
的并行版本,我可以在其中指定一个执行策略,例如 std::execution::par_unseq
。
我目前在 Ubuntu Linux 下使用 clang++-10
和 g++ 7.5.0
,但都找不到所需的包含文件 execution
,所以显然,这些编译器版本尚不支持并行算法。
谁能告诉我 clang
和 gcc
的哪个版本支持此功能?
GCC 10 和 Clang 11 支持 C++17 执行策略。
这是一个演示示例https://gcc.godbolt.org/z/xahs5x1Kx
#include <execution>
int main()
{
int a[] = {2,1};
std::sort(std::execution::par_unseq, std::begin(a), std::end(a) );
return a[0];
}
我想使用 std::sort
的并行版本,我可以在其中指定一个执行策略,例如 std::execution::par_unseq
。
我目前在 Ubuntu Linux 下使用 clang++-10
和 g++ 7.5.0
,但都找不到所需的包含文件 execution
,所以显然,这些编译器版本尚不支持并行算法。
谁能告诉我 clang
和 gcc
的哪个版本支持此功能?
GCC 10 和 Clang 11 支持 C++17 执行策略。
这是一个演示示例https://gcc.godbolt.org/z/xahs5x1Kx
#include <execution>
int main()
{
int a[] = {2,1};
std::sort(std::execution::par_unseq, std::begin(a), std::end(a) );
return a[0];
}