GPU

    [CUDA] GPU에서 코드 돌리기

    [CUDA] GPU에서 코드 돌리기

    병렬 프로그래밍의 종류 : SIMD vs SPMD SIMD(Single Instruction Multiple Data), SPMD(Single Program Multiple Data)에서 알 수 있듯이 여러 데이터를 가지고 병렬로 수행하는 단위가 Instruction이냐 Data이냐 라는 차이가 존재한다. 우리가 Instruction이라는 말에서도 알 수 있듯이 SIMD는 쓰레드별 동기화가 반드시 필요하게 되고 이러한 동기화는 하드웨어의 지원으로 이뤄지게 된다. SPMD는 반면에 동기화에 대해 SIMD보다 느슨하게 이뤄지는 게 특징이다. GPU는 이 중에 SPMD에 해당하는 Machine이다. GPU의 여러 쓰레드는 같은 code를 실행하지만 다른 데이터를 가지고 code를 실행한다. GPU의 용어 1...