ScholarGate
어시스턴트

GPU 및 가속기 컴퓨팅

GPU 및 가속기 컴퓨팅은 대규모 병렬 다중 코어 프로세서를 활용하여 범용 CPU가 달성하는 것보다 훨씬 뛰어난 데이터 병렬 워크로드를 가속화합니다.

PaperMind(으)로 주제 찾기곧 제공Find papers & topics
Tools & resources
슬라이드 다운로드
Learn & explore
동영상곧 제공

Definition

GPU 및 가속기 컴퓨팅은 호스트-디바이스 프로그래밍 모델 하에서 계산의 병렬화 가능한 부분을 오프로드하고 가속화하기 위해 높은 처리량의 데이터 병렬 실행에 최적화된 특수 다중 코어 프로세서를 사용하는 것입니다.

Scope

이 주제는 처리량 중심의 다중 코어 SIMD/SIMT 머신으로서 그래픽 처리 장치 및 기타 가속기의 아키텍처; 이를 대상으로 하는 프로그래밍 모델(CUDA, OpenCL 및 지시어 기반 오프로딩); 스레드 계층 및 메모리 계층 추상화(스레드, 워프, 블록, 그리드; 전역, 공유 및 레지스터 메모리); 그리고 달성 가능한 처리량을 좌우하는 성능 고려 사항(점유율, 메모리 통합 및 분기)을 다룹니다.

Core questions

  • 처리량 중심의 다중 코어 가속기 모델은 범용 CPU와 어떻게 다른가요?
  • 계산은 스레드 계층을 통해 대규모 병렬 커널로 어떻게 표현되나요?
  • 어떤 메모리 및 실행 동작(통합, 분기, 점유율)이 달성 가능한 성능을 제한하나요?

Key theories

SIMT 실행 모델
GPU는 워프(warp)로 그룹화된 수천 개의 경량 스레드를 실행하며, 이들은 동기식으로(단일 명령어, 다중 스레드) 실행됩니다. 성능은 워프를 계속 바쁘게 유지하고 워프 내에서 제어 흐름 분기를 피하는 데 달려 있습니다.
계층적 스레드 및 메모리 모델
CUDA는 스레드를 블록과 그리드로 구성하고 레지스터, 빠른 공유 메모리, 대규모 전역 메모리의 메모리 계층을 노출합니다. 이 계층에 데이터와 계산을 매핑하는 것이 핵심 성능 과제입니다.
범용 GPU 컴퓨팅
고정 기능 그래픽 파이프라인에서 프로그래밍 가능한 범용 가속기로의 진화는 GPU를 과학 및 데이터 집약적 컴퓨팅의 주류 플랫폼으로 만들었습니다.

Clinical relevance

가속기는 현대 컴퓨팅 집약적 애플리케이션의 핵심 동력입니다. 딥러닝 훈련 및 추론, 과학 시뮬레이션, 이미지 및 신호 처리, 암호화는 모두 CPU에 비해 몇 배 빠른 속도를 위해 GPU에 의존합니다.

History

GPU는 고정 기능 그래픽 하드웨어에서 프로그래밍 가능한 병렬 프로세서로 발전했습니다. 2007년 CUDA의 출시(2008년 Nickolls와 동료들에 의해 설명됨)는 범용 GPU 컴퓨팅을 접근 가능하게 만들었으며, 이후 가속기는 고성능 및 머신러닝 컴퓨팅의 중심이 되었습니다.

Key figures

  • John Nickolls
  • Wen-mei Hwu
  • David Kirk
  • John Owens

Related topics

Seminal works

  • nickolls2008
  • kirk2016
  • owens2008

Frequently asked questions

일부 워크로드에서 GPU가 CPU보다 훨씬 빠른 이유는 무엇인가요?
GPU는 트랜지스터의 훨씬 더 많은 부분을 산술 장치에 할애하고 수천 개의 스레드를 실행하여 메모리 지연 시간을 숨기며, 단일 스레드 속도를 총 처리량과 교환합니다. 이는 규칙적이고 고도로 데이터 병렬적인 작업에 탁월하지만, 분기가 많고 지연 시간에 민감한 코드에는 적합하지 않습니다.

Methods for this concept

Related concepts