GPGPU (General Purpose GPU)

1. GPU 기반 범용 연산, GPGPU

(1) GPGPU(General Purpose Graphic Processing Unit)의 개념

  • GPU를 그래픽 연산뿐 아니라 일반 컴퓨팅 영역에서 활용 위해 일반 계산에 GPU를 사용하는 기술

(2) 등장배경 및 주요 특징

구분내용설명
등장
배경
기계 학습 성장기계학습 기반 딥러닝 폭발적 성장
빅데이터 처리단순 비정형 등 GPU로 처리 충분
주요
특징
초병렬 SIMD/SIMT제어, 캐시 간소화 집적/병렬처리
플랫폼 지원CUDA, OpenCL 등 플랫폼 기반

– 초병렬 SIMD 처리에 의한 강력한 연산능력으로 인공지능, 빅데이터 처리에 활용

 

2. GPGPU의 구성도/구성요소 및 플랫폼/비교

구분상세 설명
구성도GPGPU 구성도
구성
요소
PCI 버스 연동부CPU와 통신 및 CPU 메모리 접근용
SIMD 코어병렬 연산 처리 스레드 프로세서
그래픽 메모리GPU사용 고속 메모리
캐시 메모리코어 내/외부 공유메모리
  • AMD HD5870 GPU는 SIMD 코어와 그래픽 메모리, 캐시 등 컨트롤러로 구성

(2) GPGPU의 플랫폼 및 비교

구분플랫폼설명관련사
플랫폼CUDA프로그램 모델 등 제공 병렬 처리
CUDA Runtime/Driver API 구성
Compute Unified Device Architecture
NVDIA
OpenCL이 기종 시스템 처리 지원
C, 런타임, API로 구성
Open Computing Language
크로노스
그룹
C++AMPVisual Studio에 추가된 이기종 지원
람다 표현과 병렬 반복문 결합
C++ Accelerated Massive Parallelism
MS
OpenACCCUDA 추상화 프로그래밍 모델
컴파일러 지시문(Directive)기반
for Open Accelerators
NVIDA
비교
  • 병렬 라빈 핑거프린팅, 유사문자열 검색 등 GPGPU 활용 기술

 

3. GPGPU 활용 기술 동향

활용 기술세부 설명
병렬 라빈
핑거프린팅
– CPU 순차처리에 비해 16대 성능 향상
– CPU 병렬 처리에 비해 5.3배 성능 향상
유사 문자열
검색
– 문자열 크기에 따라 CPU 대비 최대 10배 성능 향상
빅데이터
처리
– Map & Reduce 시스템의 데이터 처리 시 CPU에 비해 월등한 성능 향상
  • 기술 사용목적 및 난이도 고려한 플랫폼 선택 중요하며, CPU-GPU 연계기술 활용 가능

 

4. GPGPU 효율 위한 CPU와 GPU 연계, HAS

구분세부 설명
HAS
개념
CPU와 GPU를 하나의 연산체로 간주하는 추상계층을 생성하여 GPU를 연산보조용으로 사용하는 이기종 아키텍처
GPGPU
활용
  • HAS (Heterogeneous System Architecture)
  • 로보어드바이저, 핵심시스템융합관제 등 GPGPU 기반 구축 시 HAS연계로 효율성 도모 
One Comment

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^