Learning
토픽 82 / 111·병렬 처리 (Parallel Processing)

SIMT (Single Instruction Multiple Thread)

SIMT (Single Instruction Multiple Thread)

GPU에서 사용하는 병렬 실행 모델로, 하나의 명령어를 여러 스레드에 동시에 적용하여 대규모 데이터 병렬 처리를 구현하는 SIMD의 확장 개념

목적: GPU 병렬성, 대규모 스레드 실행, 그래픽·AI 가속

특징: 워프(Warp) 단위 실행, 스레드 독립성, 분기 처리, SIMD 확장

핵심 개념

  • 워프(Warp): 32개 스레드(NVIDIA) 또는 64개(AMD Wavefront), 동시 실행 단위
  • SIMT vs SIMD: SIMT는 스레드별 독립 프로그램 카운터, 분기 가능
  • 분기 발산(Divergence): 워프 내 스레드가 다른 경로 → 순차 실행 → 성능 저하

동작: 워프 스케줄러가 명령어 발행 → 32개 스레드 동시 실행 → 분기 발산 시 마스킹

장점: 대규모 병렬(수천 스레드), 프로그래밍 유연(스레드 독립), 높은 처리량

단점: 분기 발산 성능 저하, 메모리 접근 패턴 중요, 워프 활용률

최적화: 분기 최소화, 합병 메모리 접근(Coalesced Access), 워프 점유율(Occupancy) 최대화

적용사례: CUDA(NVIDIA), ROCm(AMD), GPU 컴퓨팅, 딥러닝, 그래픽 렌더링

비교: SIMT(스레드독립/분기가능) vs SIMD(데이터병렬/분기불가) vs MIMD(완전독립)

연관: GPU, CUDA, SIMD, 워프, 병렬 처리