OpenMP 4.0 belirtimi sonlandırılmış ve birkaç gün önce yayınlanmıştır here.
for (
init-İfade;
test İfade;
artırım-İfade)
yapılandırılmış blok: hala paralel halka (§2.6, s.51) kanonik şeklinde olmalıdır mandates
0:
standart rasgele erişimli yinelemeler ifadeleri her kullanılmak üzere temin kaplar, örneğin, izin verir Hala C++ 11 sözdizimsel şeker kullanmakta ısrar ve stl_container
her bir öğesini işlemek için bir zaman (nispeten) çok zaman alır, o zaman deseni görev tek yapımcı kullanabilirsiniz Eğer
#pragma omp parallel for
for (it = v.begin(); it < v.end(); it++)
{
...
}
:
#pragma omp parallel
{
#pragma omp single
{
for (auto x : stl_container)
{
#pragma omp task
{
// Do something with x, e.g.
compute(x);
}
}
}
}
Görevlendirme, belirli bir yükü tetikler; bu nedenle, compute(x);
'un tamamlanması çok az zaman alırsa bu deseni kullanmanın bir anlamı yoktur.
+ İyi bir soru. Bunu da bilmek isterdim. – lulyon