
4. CUDA 스레드 블록 아키텍처 (1)
·
GPU Programming/CUDA basic
CUDA에서 스레드는 계층 구조로 되어있는데 그리드-블록-스레드 구조로 이루어져있다. 스레드가 모여 블록을 이루고 블록이 모여 그리드를 이루고 이를 그리드 블록 모델이라고 한다. 스레드를 생성하고 어떻게 병렬처리를 하는지에 대해 알기 위해서는 우선 GPU 아키텍처에 대해 알 필요가 있다. GPU에서는 여러개의 SP가 모여 SM을 이루고 SM들이 모여 TPC를 이룬다. TPC는 GPU 아키텍처마다 쓰는 경우도 있고 안쓰는 경우도 있기 때문에 이는 생략하고 다수의 SP가 SM을 구성하는 것만 일단 기억하도록 하자. CUDA 스레드 모델에서 SP는 4개의 스레드를 동시에 실행할 수 있고 하나의 블록은 하나의 SM과 대응하여 동작하게 된다. 동일한 커널 함수를 512개의 스레드를 생성하여 위 그림의 왼쪽 G80..