, 나는 이런 식으로 중첩 루프에서 각 for
문 사이에 몇 가지 코드를 추가해야한다OpenMP를 중첩 루프 몇 가지 이유에 대한
for (int i = 0; i < n; ++i) {
//i have to put some code here
do something_1
for (int j = 0; j < n; ++j) {
//i have to put some code here
do something_2
for (int k = 0; k < n; ++k) {
do something_3
}
}
}
------ 업데이트 20 : 11 6.17 2016 ----------------------
OpenMP 프로그램이 중첩 된 루프가 아닌 것으로 확인되었으므로 std::vector
을 push_back()
메서드와 함께 사용합니다. OpenMP를 사용하면 정말 위험합니다.
저는 OpenMP에 대한 전문가가 아니지만, 당신이 그것을 속이고 "무언가를하십시오"및 내부를 함수로 이동시킨 다음 for에 호출하는 것이 어떻습니까? – hauron
'#pragma omp parallel for '을 사용해 보셨습니까? – hmatar
일반적으로 반복 사이에 종속성이 없으면 루프를 parallized 할 수 있습니다. – kangshiyin