일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 설치
- Intel OpenCL
- Device
- OpenCL 2.0 시작하기
- OpenCL
- Memory Leak
- OpenCL 초기화
- Platform
- Visual Leak Detector
- init
- Kernel
- initialize
- 메모리 누수
- Queue
- VLD
- OpenCL 2.0
- program
- Today
- Total
후로링의 프로그래밍 이야기
아마 OpenCL의 전체적인 워크 플로우가 머릿 속에 들어오지 않아 세부적인 이해가 되지 않는 분이 있으리라 생각됩니다. 전체적인 작업의 흐름이 머릿속에 들어오는 것이 무엇보다 중요하므로 확실히 알 수 있도록 정리를 하고 이미지 프로세싱에 들어가려 합니다. Initialization initialization 부분은 GPU에서 병렬처리 작업을 할 수 있도록 CPU와 GPU간의 인터페이스를 정의하고 GPU에서 실행할 함수를 정의하는 부분입니다. 아래 6개의 설정을 마침으로서 OpenCL을 통해 GPU에 작업을 명령할 수 있는 환경을 갖출 수 있게 됩니다. 각 용어에 대한 설명은 본 블로그 OpenCL 튜토리얼 초반부에 잘 설명되어 있으니 참고하시기 바랍니다. -Platform 선택-Device 선택-선택한..
시간이 날 때마다 이전에 공부해 두었던 유니티 셰이더에 대해 꾸준히 포스팅을 하려 합니다. 유니티를 통해 셰이더를 공부하는 것에는 많은 이점이 있습니다. 그중에 가장 큰 장점은 셰이더에 대한 이해를 빠르고 쉽고 명확하게 할 수 있다는 것입니다. OpenGL이나 DIrectX를 통해 셰이더를 처음 공부해 보려고 하시는 분들이 셰이더를 사용 해 보기위해 디바이스를 설정하고 물체를 만들고 하는 등의 일 때문에 포기하게 되는것을 주변에서 여럿 보았습니다. 유니티를 통해 셰이더를 공부하는 것은 새로운 프레임워크를 배우기 위해 공부해야할 부분에 대한 부담감을 확 낮추는 효과가 있습니다. 또한 유니티를 통해 게임을 개발하려는 프로그래머, 아티스트가 유니티 내에 개발되어 있는 셰이더를 사용하지 않고 직접 자신이 원하는..
OpenCL 에서 커널이란 GPU에서 동작하는 함수 입니다. 그리고 커널은 GPU에 할당 된 메모리를 이용해 작업을 수행합니다. 따라서 GPU에서 무언가 작업을 하기 위해서는 다음과 같은 작업 과정이 필요합니다. - 메모리 할당 및 데이터 쓰기 GPU메모리를 할당하고 할당한 메모리에 값을 적재하는 부분 까지가 bufferWrite()함수의 내용입니다. clCreateBuffer()함수로 이전 강의에서 생성한 context를 이용해 생성합니다. 인자로는 메모리를 Read용도로만 쓸 것인지, Write용도로만 쓸 것인지 둘다 사용할 것인지에 대한 인자와 사이즈 등이 들어있습니다. 버퍼를 내용을 변경하지 않는 constant버퍼로 사용할 경우 CL_MEM_READ_ONLY로 설정하면 읽는 속도가 더 빨라 진다..