4
병렬 외부 루프에서 for 루프 (병렬로 실행되는 것으로 가정)를 포함하는 함수를 실행하려면 어떻게해야합니까? . 그래서처럼 보이는 다음 위의 코드를 감안할 때중첩 된 병렬 for ... "병렬 inner for for 루프"에서 "parallel for outer for 루프"
void myfunction(){
...
#pragma omp parallel for
for (int i=0;i<10;i++){
do something...
}
}
int main(){
#pragma omp parallel for
for(int i=0;i<5;i++){
myfunction();
}
}
, 나는 main()
함수에서 루프 5 개 병렬 스레드를 만들려면, 내가 실행하는 또 다른 K 스레드를 생성하기 위해 5 개 각 스레드를 원하는 그 자신의 병렬 for 루프.
내부 루프가 별도의 함수가 아닌 경우 중첩 된 for 루프를 실행하는 방법을 알고 있지만이 문제에 대한 솔루션을 찾을 수 없습니다.
실제로이 코드는 병렬 5 배 교차 유효성 검사를위한 코드입니다. 각 접기는 병렬 처리되어야하는 for 루프를 가지고 있습니다.
아무도 도와 줄 수 있습니까?
이 기능이 작동합니까? 그렇다면 실제 문제는 무엇입니까? – tadman
@tadman 죄송합니다. 귀하의 질문을받지 못했습니다. 우선 5 개의 스레드를 생성하고 각 스레드가 독립적으로 실행되어야하는 각 스레드에 대해 병렬 for 루프를 실행하려고합니다. – Mansumen
[검색] (http://stackoverflow.com/questions/13357065/openmp-and-nested-loops)? – Stargateur