본문 바로가기
일반

GPGPU API 들. C++ AMP, CUDA, OpenACC.OpenCL

by 리치굿맨 2016. 9. 1.


 

개요.

 
 
 GPGPU API 비교 정리.

용어정리.

 용어

 설명.

GPGPU API

  GPGPU 목적을 달성할 수 있게 응용프로그램 GPU사이의 API (Application Programming Interface).

  - 즉, 응용프로그램 <-> GPGPU API <-> GPU   


GPGPU API 계층의 소프트웨어류를 지칭하는 용어가 이것저것 통용되고 있고 제조사의 브랜드 까지 부착되어 헷갈리게 하고 있으나, 기술적 용어로써는 이 계층에 해당하는 것을 GPGPU API 로 지칭한다. 

내가 개발중인 프로그램에서 GPU 를 범용계산목적으로 활용함에 있어서 GPGPU API (~라이브러리) 를 도입하여 내 응용프로그램에서 GPU 직접 핸들링 하지 않고도 목표한 GPU기반 범용계산 달성가능하게 하는것.

GPGPU 

 General Purpose GPU , GPU를 그래픽 용도외 일반 목적의 연산처리도 수행하게 하고자 하는 GPU 활용 목적을 의미하는 용어.

GPU 

 Graphics Processing Unit. 엔비디아사의 지포스 시리즈제품이나, AMD사의 그래픽카드에 내장된 Graphics Processing Unit.

GPU API

 GPU 를 응용프로그램에서 그래픽 처리용도 접근할 수있는 API 계층. 대표적인 예: DirectX  



 


 

 

GPGPU API 들

 
정리시점 : 2016년 9월 1일.

GPGPU API명칭. 

 설명.


 C++ AMP

 ( C++ Accelerated Massive Parallelism )


https://msdn.microsoft.com/ko-kr/library/hh265136.aspx



주요특징.

- CPU, GPU 멀티컴퓨팅

- 개발환경 구축: Visual Studio 설치 하는걸로 GPGPU 개발환경 구축완료.

  (즉, Visual Studio 2012이후 VC++에 C++ AMP 기본포함 되었음. )

- Windows8이상, DirectX11 이상 지원하는 GPU. 

- C++ AMP 의 성능확인 -> http://igotit.tistory.com/588 의 동영상.

 CUDA

 ( Compute Unified Device Architecture ) 


  https://developer.nvidia.com/cuda-zone


주요특징.

- CUDA : GPGPU 달성하기위한 엔비디아 GPU의 하드웨어 및 S/W요소 통칭.

- 개발환경 구축: CUDA 툴킷을 설치하고 IDE 설정등 개발환경 구축, 유지보수 관리부하증가.

- CUDA 기반의 cuDNN 등의 라이브러리들이 있어 활용가치 높아짐.

- NVIDIA사의 지포스8이상의 GPU에서만 사용가능.


CUDA Toolkit 설치 : http://igotit.tistory.com/1005

 OpenACC

 ( Open Accelerators )


 http://www.openacc.org/

 https://developer.nvidia.com/openacc



주요특징.

- 개발환경 구축: OpenACC 툴킷 설치하고 IDE 설정.개발환경 구축, 유지보수 관리부하증가.

- C, C++ 코드에 컴파일러 directive 를 붙여 가속해야할 영역 지정.

- NVIDIA, 크레이 에서 CUDA보다 더 쉬운 수단으로 만든 것.


 OpenCL

 ( Open Computer Language )


 https://www.khronos.org/opencl/



- GPU 뿐만 아니라 CPU포함 병렬 컴퓨팅 프로그램 개발위한 공개 표준. 


 

MS사의 DirectCompute (2006년 11월 DirectX10.0 SDK에서 배포) 도 GPGPU를 목적으로 하였으나, 개발자가 DirectCompute 기반  코딩하면서 범용적인 GPGPU 달성하기란 어려워 보이므로 제외함.


 


 


///934.

태그

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT