CUDA Academy · 강의

SIMT: 같은 명령, 많은 스레드

GPU를 빠르게 만드는 실행 모델을 알아봅니다.

레슨 2/413개 단계

SIMT: 같은 명령, 많은 스레드은(는) CoddyKit의 무료 CUDA Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CUDA Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CUDA Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

GPU가 계속 바쁘게 일하는 방법

코어 수천 개에 무엇을 할지 알려 주려면 영리한 방법이 필요합니다. GPU의 답은 SIMT입니다. 즉, 하나의 명령으로 여러 스레드를 처리하는 방식입니다. ⚡

하나의 명령, 수많은 스레드

SIMT에서는 하나의 명령을 전체 스레드 그룹에 한 번에 전달합니다. 각 스레드는 같은 단계를 실행하지만, 자신에게 할당된 데이터를 처리합니다.

같은 조리법, 서로 다른 재료

모든 요리사가 정확히 같은 조리 단계에 따르지만 각자 다른 접시를 다루는 주방을 떠올려 보세요. 공유되는 그 단계가 바로 명령입니다. 🍳

워프를 만나 보세요

GPU는 스레드를 32개씩 묶어 워프라는 묶음으로 만듭니다. 워프는 실제로 함께, 한 단계씩 동기화하여 실행되는 단위입니다.

32개씩 묶는 이유

32개의 스레드에 하나의 명령을 한 번에 전달하는 것이 32개의 명령을 따로 전달하는 것보다 훨씬 저렴합니다. 바로 이 공유에서 GPU의 효율성이 나옵니다.

각 스레드는 자신만의 데이터를 가집니다

워프의 스레드들은 명령을 공유하지만 각자의 레지스터는 따로 유지합니다. 따라서 스레드 0과 스레드 5는 같은 덧셈을 실행하되 서로 다른 숫자에 적용합니다.

SIMT는 SIMD와 완전히 같지 않습니다

기존 SIMD는 고정된 너비의 벡터를 처리합니다. SIMT는 공유 명령이라는 개념을 유지하면서도 필요할 때 각 스레드가 더 독립적으로 동작하도록 합니다.

분기 문제

워프의 절반은 if 분기를 따르고 나머지 절반은 따르지 않으면 어떻게 될까요? 워프의 스레드들은 함께 진행하려 하므로 분기가 그룹을 갈라놓을 수 있습니다.

if (x > 0) {
  y = x * 2;
} else {
  y = -x;
}

워프 분기

워프의 스레드들이 분기에서 서로 다른 선택을 하면 워프는 각 경로를 차례로 실행하고 다른 경로의 스레드는 비활성화합니다. 이러한 직렬 재실행을 분기 발산이라고 합니다.

분기는 속도를 떨어뜨립니다

분기된 경로는 차례로 실행되므로 병렬성이 줄어듭니다. 빠른 커널을 만들려면 워프가 같은 경로를 따라가게 하는 것이 중요합니다.

SIMT가 매우 잘 확장되는 이유

하나의 명령이 32개의 스레드에 전달되고 많은 워프가 동시에 실행되므로 GPU는 연산 장치를 빈틈없이 사용합니다. 이것이 SIMT가 높은 처리량으로 이어지는 방식입니다.

빠른 확인

SIMT 관련 용어를 제대로 이해했는지 확인해 보겠습니다.

복습: SIMT

SIMT는 하나의 명령을 32개 스레드로 이루어진 워프에 전달하고, 각 스레드는 자신만의 데이터를 처리합니다. 모든 스레드가 함께 진행하도록 분기 발산을 피하세요. 👍

무료로 시작

AI 튜터와 함께 C++을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
30
레슨
120

자주 묻는 질문

“SIMT: 같은 명령, 많은 스레드” 강의는 무료인가요?

네 — “SIMT: 같은 명령, 많은 스레드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CUDA Academy 강의 전체를 잠금 해제할 수 있습니다. CUDA Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“SIMT: 같은 명령, 많은 스레드”에서 뭘 배우나요?

GPU를 빠르게 만드는 실행 모델을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 CUDA Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

CUDA Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 CUDA Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“SIMT: 같은 명령, 많은 스레드” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 CUDA Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 CUDA Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. CPU와 GPU: 지연 시간과 처리량
  2. SIMT: 같은 명령, 많은 스레드
  3. CUDA란 실제로 무엇인가
  4. GPU에 적합한 문제
← CUDA Academy(으)로 돌아가기