gpt4 book ai didi

c++ - OpenMP - 将结果存储在 vector 中

转载 作者:行者123 更新时间:2023-11-27 22:36:53 25 4
gpt4 key购买 nike

<分区>

我想使用 OpenPM 将 for 循环与多次迭代并行化。结果应存储在 vector 中。

for (int i=0; i<n; i++)
{
// not every iteration produces a result
if (condition)
{
results.push_back (result_value);
}
}

这不能与 #pragma omp parallel for 一起正常工作。

那么实现这一目标的最佳实践是什么?
是否有可能为每个线程使用单独的结果 vector ,然后在最后组合所有结果 vector ?结果的顺序并不重要。

类似的东西实用,因为它占用太多空间

int *results = new int[n];
for (int i=0; i<n; i++)
{
// not every iteration produces a result
if (condition)
{
results[i] = result_value;
}
}

// remove all unused slots in results array

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com