__syncthreads() : 각 스레드의 작업을 모두 동일하게 맞추어준다

  - 때문에 지연 감춤의 효과를 떨어뜨린다.

  - 빠른속도의 공유 메모리를 사용한다고해서 반드시 유리하지만은 않다는 것을 의미한다.

 

공유메모리에 전역 메모리 일부를 읽어 데이터를 처리하는 방법을 많이 사용하지만,

공유메모리에 전역 메모리를 복사한 후 __syncthreads()를 사용할 경우 지연 감춤은 일어나지 않는다.

 


즉, 전역메모리 참조 횟수 대비 적당한 시간의 명령 수행시간이 확보되고, __syncthread()가 그 명령 수행시간 사이를 구분짓지 않는 경우, 지연감춤이 일어나는 전역 메모리만 사용하는 경우가 공유메모리를 함께 사용하는 것 보다 더 나을 수 있다.

 

 

결국은 메모리 매니지먼트가 그만큼 GPU 프로그래밍에서는 상당히 중요하다는 것

Posted by 긍정왕오킹