본문 바로가기

thread synchronization2

CUDA Thread 동기화 및 스케쥴링 / 리소스 할당 References Programming Massively Parallel Processors Contents 동기화(Synchronization) Transparent Scalability 리소스 할당(Resource Assignment) Thread Scheduling (Warp) Synchronization & Transparent Scalability CUDA는 같은 블록 내에 있는 스레드들이 barrier synchronization(배리어 동기화) 함수인 __syncthreads()를 사용하여 스레드들의 작업을 조율할 수 있게 합니다. __syncthreads()를 호출한 스레드는 호출한 위치에서 멈추게 되는데, 블록 내의 모든 스레드들이 해당 위치에 도달할 때까지 멈추게 됩니다. 이렇게 하면.. 2021. 12. 4.
[pthread] Thread 동기화 References An Introduction to Parallel Programming Contents Semaphore (세마포어) Producer-Consumer Synchronization 각 스레드는 다른 스레드로 '메세지 전송'을 수행하고 전송받은 메세지를 출력하는 프로그램을 작성한다고 가정해봅시다. 예를 들어, t개의 스레드가 있을 때, 스레드 0은 스레드 1로 메세지를 전송하고 스레드 1은 스레드 2로 메세지를 전송합니다. 즉, 스레드 t-2는 스레드 t-1에게 메세지 전송하고 스레드 t-1은 스레드 0에게 메세지를 전송합니다. 그리고 스레드는 메세지를 수신한 후에 수신받은 메세지를 출력하고 스레드를 종료합니다. 메세지 전송을 구현하기 위해서 char* 타입의 공유 배열을 할당하고, 각 .. 2021. 11. 18.