OpenCL에서 사용되는 개념은 아래와 같다.
Host 즉 CPU에서 Command와 Data를 Device로 보낸다.
이는 Command Queue로 저장된다.
Code의 실행은 순차적으로 진행되다가 Parallel하게 진행되는 방식으로 이루어진다.
Host에서 Serial하게 진행하고 parallel code는 Device에서 실행하게 된다.
Work Item은 N Dimension Work Item으로 만들어진다.
Global Domain으로 1024 x 1024로 만들어진다.
이 Global Domain에서 32x32로 Local Dimension으로 나누어서 한번에 실행된다.
Work Item : OpenCL Device상에서 계산이 이루어지는 기본 유닛
Kernel : Work Item을 구동시키는 code
Program : Work Item 을 구동시키는 Kernel과 기타 함수들의 모음
Context :
Command Queue : Host에서 Device로 보내지는 work의 pipeline
메모리 모델은 아래와 같다.
Private Memory는 각 Work Item별로 할당된 메모리이다.
Local Memory는 Work Group별로 할당된 메모리를 의미한다.
Global / Constant memory는 모든 Work Group에서 보여지는 메모리를 의미한다.
Host Memory는 당연히 Host용 메모리를 의미함.
Host -> Global -> Local -> Private 순으로 메모리의 데이터를 옮길 수 있다.
'Computer Vision' 카테고리의 다른 글
OpenCL Test Program (2) (0) | 2014.03.18 |
---|---|
OpenCL test program (1) (0) | 2014.03.15 |
Optical Flow에 의한 영상 정보 분석 (0) | 2013.05.28 |
OpenCV를 이용한 Face Detection (0) | 2013.05.19 |
3D Noise Reduction algorithm test (0) | 2011.10.05 |