병렬처리 질문 입니다
글쓴이: fivestar / 작성시간: 화, 2011/10/25 - 3:10오후
요즘 병렬처리에 관심이 많아
프로그램에 적용해보려고 하고 있습니다.
하지만 명확히 이해하지 못하여
아래와 같은 루틴에서 병렬처리를 할 경우 퍼포먼스가 향상될 지 조언좀 부탁드리겠습니다.
총 7개의 함수가 있으며 각각 동일한 데이터로 다른 처리를 하여
결과값이 있으면 리턴해 주며 총 7개의 함수의 리턴값을 더하는 부분 입니다.
저 7개의 함수의 처리가 오래걸려 병렬처리로 하고 싶은데 가능할까요?
하지만 생각해본 문제점이 wating 하는 부분 인데 각각 함수마다 처리되는 시간이 다를텐데 wait 해주는 기능이 있나요? openmp에서~
#pragma omp parallel for private(i) reduction(+:sum)
for( i=0 ; i< 5 ; i++)
{
sum+=함수1
sum+=함수2
sum+=함수3
.
.
.
}
위와 같이 생각하고 있는데 문제점 이나 조언 부탁드립니다~
Forums:
흠...
흠
컴파일 따라 다르겠지만 안될것 같은..
병렬처리는 가능한데 방법이 저렇게 하면 안될듯....
함수 1,2,3에 대한것들을 병렬로 처리하고
reduction를 하는 방법으로 가던지 아니면
sum를 for문만큼 배열로 각각 계산한뒤
결과의 sum배열을 sum한다던지 하는 방향으로 만들면 되지 않을까요?
그런 기능이
있는 걸로 알고 있습니다. openMP에
각각의 처리가 끝나길 기다리는 있는 걸로 알고 있어요 ~~
댓글 달기