OpenMP에 대한 도움이 필요합니다. 스레드가 for 루프에서 끝난다면 다른 스레드로 나눠 주는데 도움이 될까요? 나는 휴식 시간에 루프를 반복한다. 스레드는 동시에 종료하지 않으므로 많은 작업이있는 스레드와 다른 스레드가 완료됩니다. (따라서 사용되지 않는 코어가 있음). 내 프로그램을 corei7에서 실행하면 OpenMP가 루프를 8 개의 스레드로 나눕니다. 그러나 한 스레드가 작업을 수행 한 후 사용률이 떨어지기 시작합니다.OpenMP for 루프 최적화 스케줄
#pragma omp parallel for
for(i = 0; i < Vector.size(); i++) {
for(j = 0; j < othervector.size(); j++) {
{some code}
if(sth is true) break;
}
}
감사합니다.