C++ C+中的并行#u是否有升压功能+;?

C++ C+中的并行#u是否有升压功能+;?,c++,parallel-processing,C++,Parallel Processing,我需要为你做一个平行的实验。在标准C++库中还是在Boost中有一个简单的实现方法?我没有找到它 顺便说一下,我正在使用Ubuntu。因此,我不想要Microsoft库。我个人会仔细研究OpenMP。这里有一个很好的链接可以帮助您入门,并且应该解释如何为循环编写并行程序 免责声明:我不确定标准C++(包括最新标准),也从未使用Boost。也就是说,我过去在需要进行并行处理时使用过OpenMP。我个人会仔细研究一下OpenMP。这里有一个很好的链接可以帮助您入门,并且应该解释如何为循环编写并行程

我需要为你做一个平行的实验。在标准C++库中还是在Boost中有一个简单的实现方法?我没有找到它


顺便说一下,我正在使用Ubuntu。因此,我不想要Microsoft库。

我个人会仔细研究OpenMP。这里有一个很好的链接可以帮助您入门,并且应该解释如何为循环编写并行程序


免责声明:我不确定标准C++(包括最新标准),也从未使用Boost。也就是说,我过去在需要进行并行处理时使用过OpenMP。

我个人会仔细研究一下OpenMP。这里有一个很好的链接可以帮助您入门,并且应该解释如何为循环编写并行程序


免责声明:我不确定标准C++(包括最新标准),也从未使用Boost。也就是说,我过去在需要进行并行处理时使用过OpenMP。

听起来您在寻找OpenMP提供的功能:

#pragma omp parallel for
for (i = 0; i < n; ++i)
  // do some work
#pragma omp parallel for
对于(i=0;i
如果您使用的是gcc,那么使用
-fopenmp
标志进行编译


OpenMP对于相对“令人愉快”的并行问题来说非常棒。

听起来您正在寻找OpenMP提供的功能:

#pragma omp parallel for
for (i = 0; i < n; ++i)
  // do some work
#pragma omp parallel for
对于(i=0;i
如果您使用的是gcc,那么使用
-fopenmp
标志进行编译


OpenMP对于相对“令人愉快”的并行问题来说非常出色。

自C++17以来,我们使用“执行策略”参数将大多数算法作为潜在的并行版本:

对于一个简单的For each,算法为
For_each

std::vector v=get_tons_of_value();
std::for_each(std::execution::par,std::begin(v),std::end(v),[](int i){
工作(一);
});
在本例中,我们“请求”并行执行lambda


请注意,算法将自行决定它将有效地并行运行,以及如何并行运行。例如,如果没有足够的值使并行运行的成本值得,那么它将不会在大多数实现上并行运行。请参阅标准库实现文档,了解他们将使用的启发式方法。

自C++17以来,我们使用“执行策略”参数将大多数算法作为潜在的并行版本:

对于一个简单的For each,算法为
For_each

std::vector v=get_tons_of_value();
std::for_each(std::execution::par,std::begin(v),std::end(v),[](int i){
工作(一);
});
在本例中,我们“请求”并行执行lambda


请注意,算法将自行决定它将有效地并行运行,以及如何并行运行。例如,如果没有足够的值使并行运行的成本值得,那么它将不会在大多数实现上并行运行。参考标准库实现文档,了解他们将使用的启发式算法。虽然,这不是标准C++。不过这不是标准C++。