연관토픽
- [연관] 중앙처리장치(CPU, Central Processing Unit)
- [연관] GPU(Graphics Processing Unit)
- [연관] CUDA(Compute Unified Device Architecture)
기출문제
회차 | 문제 |
관리120-1 | 12. CPU(Central Processing Unit)와 GPGPU(General-Purpose computing on Graphic Processing Unit) |
관리111-1 | 6. GPGPU(General Purpose Graphics Processing Units) |
개념
- GPU를 그래픽스 전용 처리뿐만 아니라, 범용적인 데이터 병렬처리가 가능한 그래픽 처리 유닛
- 컴퓨터 그래픽을 위한 계산만 맡았던 그래픽처리장치(GPU)를 매니코아의 병렬연산의 장점을 기반으로 CPU가 맡았던 응용프로그램 계산에 사용하여 일반 범용 목적의 병렬계산프로세서로 활용하는 프로세싱 유닛
- 기존의 CPU와 GPU를 결합, 기본적인 컴퓨팅 환경은 CPU가 담당하고 대량 데이터에 대한 신속한 연산이 필요한 영역은 GPU에게 맡기는 방식인 가속 컴퓨팅(GPU-accelerated computing) 확대
GPGPU 아키텍처
- GPGPU 아키텍처는 SM(Streaming Multiprocessor)들로 구성되며, SM은 여러개의 Streaming Processor로 구성
GPGPU의 구성요소
구분 | 구성요소 | 설명 |
멀티 프로세서 | SM (Stream Multiprocessor) |
- 제어 로직과 명령 캐시를 공유하는 수많은 스트리밍 프로세서(SP : Streaming)로 구성된 멀티프로세서 - SM에 독립적 명령어 스케쥴러 보유, 다수 스레드 동시 실행 |
SM (Stream Multiprocessor) |
SP (Streaming Processor) |
- 기본적 논리논리/수학연산을 수행 하고 MAD(Multiply-Add) 명령어도 지원하여 한클럭 당 2개의 연산 수행이 가능한 프로세서 |
SFU (Special Function Units) |
- 초월 함수함수, 픽셀 attribute 보간 등의 연산에 사용되며 4개의 부동 소숫점 곱셈기 포함 | |
Shared Memory | - 16KB 용량으로, 블록의 스레드들이 data 교환을 위해 공유하는 메모리 | |
메모리 | Global Memory | - GPU 에서 가장 큰 메모리 , CUDA 코딩 시 모든 데이터 저장 |
스케줄링 단위 | WARP | - SM에 할당된 스레드들을 32 개씩 한사이클에 동시에 수행하도록 하는 스케쥴링 |
지원 소프트웨어 | CUDA (Compute Unified Device Architecture) |
- GPU에서 수행하는 병렬처리 알고리즘을 C언어를 비롯한 표준언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술 |
모범답안