일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- OpenCL
- Device
- 메모리 누수
- Platform
- program
- OpenCL 초기화
- OpenCL 설치
- VLD
- OpenCL 2.0 시작하기
- init
- Memory Leak
- Intel OpenCL
- initialize
- Queue
- OpenCL 2.0
- Visual Leak Detector
- Kernel
- Today
- Total
후로링의 프로그래밍 이야기
OpenCL은 인터페이스입니다. 다시 말해 CPU와 GPU사이를 오가며 작업을 처리 해 줄 수 있게 도와주는 역활을 해줍니다. 아래 그림의 빨간색 선에 해당하는 것이 바로 OpenCL 인터페이스 입니다. GPU를 사용하기위해서는 platform, device 포인터와 device를 이용해서 만드는 context 포인터 정보를 가지고 있어야 합니다. 그리고 device와 context를 이용해 실제 CL코드를 실행하는 queue에 대한 포인터를 를 생성해야 합니다. 각각이 무엇인지 확실히 이해를 하고 넘어가야 OpenCL이 실행되는 방식을 이해 할 수 있습니다. Platform 만약 컴퓨터에 Interl CPU와 AMD GPU가 설치되어 있다면 선택 가능한 platform은 intel, amd입니다. 다시..
어느정도 규모 이상의 코드를 짜거나 실행 후 계속 동작하는 프로그램을 짤때 메모리 누수를 관리하는 것이 정말 중요합니다. Visual Studio에서 기본적으로 제공하는 프로파일러도 좋습니다. 하지만 프로파일러 만으로는 메모리 누수를 잡기가 매우 힘듭니다. 메모리 누수가 발생한 블록 정보를 이용해 메모리 누수가 발생하는 라인을 찾으려면 map파일과 cod파일등을 이용해 직접 검색해서 매치를 해나가는 아주 귀찮은 작업을 해야 합니다. Visual Leak Detector는 단순히 헤더파일을 하나 추가하는 것 만으로 쉽게 메모리 누수가 발생한 블록을 선언한 라인을 잡아줍니다. 아래는 Visual Leak Detector홈페이지의 실행 예시 입니다. 설치 방법은 다음과 같습니다. https://vld.code..
- 포스팅에 들어가며 최근 CPU 로 처리하던 이미지 프로세싱 코드를 OpenCL을 이용해 GPU로 옮기는 프로젝트를 하게 되면서 넷 상에 한글로 된 기초 자료가 너무 부실한 것이 너무 아쉬웠습니다. 또한 코딩을 하면서 겪은 시행착오들을 새로 시작하시는 분들이 겪지 않았으면 해서 앞으로 약 10회정도 OpenCL에 관련한 포스팅을 하며 블로그를 시작해 볼까 합니다. OpenCL(Open Computing Language)은 개방형 범용 병렬 컴퓨팅 프레임워크입니다. 이종 플랫폼이라는 말을 들어보셨나요? 여기서 얘기하는 이종플랫폼은 CPU, GPU, DSP등의 연산장치가 혼재되어있는 시스템을 말합니다. OpenCL은 이러한 시스템 내에서 여러 연산장치의 연산 유닛을 유저가 쉽게 사용 할 수 있도록 도와주는..