2018년 11월 26일
GPGPU (General Purpose GPU)
I. GPU 기반 범용 연산, GPGPU
가. GPGPU(General Purpose Graphic Processing Unit)의 개념
GPU를 그래픽 연산뿐 아니라 일반 컴퓨팅 영역에서 활용 위해 일반 계산에 GPU를 사용하는 기술
나. 등장배경 및 주요 특징
구분 | 내용 | 설명 |
---|---|---|
등장 배경 | 기계 학습 성장 | 기계학습 기반 딥러닝 폭발적 성장 |
빅데이터 처리 | 단순 비정형 등 GPU로 처리 충분 | |
주요 특징 | 초병렬 SIMD/SIMT | 제어, 캐시 간소화 집적/병렬처리 |
플랫폼 지원 | CUDA, OpenCL 등 플랫폼 기반 |
– 초병렬 SIMD 처리에 의한 강력한 연산능력으로 인공지능, 빅데이터 처리에 활용
II. GPGPU의 구성도/구성요소 및 플랫폼/비교
구분 | 상세 설명 | |
---|---|---|
구성도 | ||
구성 요소 | PCI 버스 연동부 | CPU와 통신 및 CPU 메모리 접근용 |
SIMD 코어 | 병렬 연산 처리 스레드 프로세서 | |
그래픽 메모리 | GPU사용 고속 메모리 | |
캐시 메모리 | 코어 내/외부 공유메모리 |
– AMD HD5870 GPU는 SIMD 코어와 그래픽 메모리, 캐시 등 컨트롤러로 구성
나. GPGPU의 플랫폼 및 비교
구분 | 플랫폼 | 설명 | 관련사 |
---|---|---|---|
플랫폼 | CUDA | 프로그램 모델 등 제공 병렬 처리 CUDA Runtime/Driver API 구성 Compute Unified Device Architecture | NVDIA |
OpenCL | 이 기종 시스템 처리 지원 C, 런타임, API로 구성 Open Computing Language | 크로노스 그룹 | |
C++AMP | Visual Studio에 추가된 이기종 지원 람다 표현과 병렬 반복문 결합 C++ Accelerated Massive Parallelism | MS | |
OpenACC | CUDA 추상화 프로그래밍 모델 컴파일러 지시문(Directive)기반 for Open Accelerators | NVIDA | |
비교 |
– 병렬 라빈 핑거프린팅, 유사문자열 검색 등 GPGPU 활용 기술
III. GPGPU 활용 기술 동향
활용 기술 | 세부 설명 |
---|---|
병렬 라빈 핑거프린팅 | – CPU 순차처리에 비해 16대 성능 향상 – CPU 병렬 처리에 비해 5.3배 성능 향상 |
유사 문자열 검색 | – 문자열 크기에 따라 CPU 대비 최대 10배 성능 향상 |
빅데이터 처리 | – Map & Reduce 시스템의 데이터 처리 시 CPU에 비해 월등한 성능 향상 |
– 기술 사용목적 및 난이도 고려한 플랫폼 선택 중요하며, CPU-GPU 연계기술 활용 가능
IV. GPGPU 효율 위한 CPU와 GPU 연계, HAS
구분 | 세부 설명 |
---|---|
HAS 개념 | CPU와 GPU를 하나의 연산체로 간주하는 추상계층을 생성하여 GPU를 연산보조용으로 사용하는 이기종 아키텍처 |
GPGPU 활용 |
※ HAS (Heterogeneous System Architecture)
– 로보어드바이저, 핵심시스템융합관제 등 GPGPU 기반 구축 시 HAS연계로 효율성 도모
One Comment
기술사를 준비하는 저로서는 도리님 사이트를 많이 참고하고 있습니다.^^