OpenMP 4.0 사양은 며칠 전 here으로 확정되고 발표되었습니다.
for (
INIT-EXPR;
시험 EXPR;
증분-EXPR)
구성 블록 : 아직 평행 루프 (§2.6, P.51) 정규형이어야 것을 의무화
0 :
이 표준은 임의 접근 반복자는 모든 표현식에 사용되는 제공하는 용기, 예를 들어 수 있습니다 여전히 C++ 11 문법 설탕을 사용하여 주장하고 stl_container
의 각 요소를 처리하는 데 시간이 (비교적)이 많이 걸리는 경우, 다음 패턴을 태스킹 단일 생산을 사용할 수있는 경우
#pragma omp parallel for
for (it = v.begin(); it < v.end(); it++)
{
...
}
:
이
compute(x);
를 완료하는 데 약간의 시간이 걸린다면 아무 의미가이 패턴을 사용하지 수 있도록 할 수 있도록
#pragma omp parallel
{
#pragma omp single
{
for (auto x : stl_container)
{
#pragma omp task
{
// Do something with x, e.g.
compute(x);
}
}
}
}
는 태스킹 특정 오버 헤드를 유도한다.
+ 좋은 질문입니다. 그것도 알고 싶습니다. – lulyon