single은 쓰레드 중 하나만 실행하고
master는 마스터 쓰레드 에서 실행은 한다.
어떻게 보면.. 하나의 쓰레드에서만 실행하되
그것이 마스터 쓰레드냐, 아니면 생성된 것들 중 하나만 이냐의 차이로 보일수도 있겠지만
fork 나 createthread의 오버헤드 없이 이미 실행중인 '마스터 쓰레드'에서 하는 것보다는 느릴수 밖에 없을테니.. 이려나?
master는 마스터 쓰레드 에서 실행은 한다.
어떻게 보면.. 하나의 쓰레드에서만 실행하되
그것이 마스터 쓰레드냐, 아니면 생성된 것들 중 하나만 이냐의 차이로 보일수도 있겠지만
fork 나 createthread의 오버헤드 없이 이미 실행중인 '마스터 쓰레드'에서 하는 것보다는 느릴수 밖에 없을테니.. 이려나?
In addition to nesting limitations single construct can be implemented slower than master construct because it is more complicated and flexible. You may want to check your particular implementation, but in general master can be implemented faster, so multiple invocations of it may benefit comparing tosingle nowait construct.[링크 : http://stackoverflow.com/.../what-is-the-benefit-of-pragma-omp-master-as-opposed-to-pragma-omp-single] |
'Programming > openMP' 카테고리의 다른 글
openMP reduction 절 (0) | 2013.11.28 |
---|---|
openMP atomic과 critical (0) | 2013.11.26 |
openMP parallel default (0) | 2013.11.18 |
openMP gnu implement (0) | 2013.11.11 |
openMP example (0) | 2013.09.29 |