私はこのparallel for
ループを持っています
struct p
{
int n;
double *l;
}
#pragma omp parallel for default(none) private(i) shared(p)
for (i = 0; i < p.n; ++i)
{
DoSomething(p, i);
}
現在、新しい要素が に追加されているため、内部DoSomething()
のが増加している可能性があります。これらの要素を並行して処理したいと思います。OpenMP のマニュアルには、リストでは使用できないと記載されているため、これらの新しい要素を別のリストに追加し、順次処理してから で結合します。私はこの回避策が好きではありません。これを行うためのよりクリーンな方法を知っている人はいますか?p.n
p.l
parallel for
DoSomething()
p.l
p.l