평소에 GPGPU에 조금씩 관심을 가지고 있었는데, https://github.com/bakks/sphyraena 이 글을 읽고 opencl 에 관심이 생겼다. 위의 프로젝트는 cuda 를 이용해서 sqlite 속도 를 개선 한 것이다. 사실 코드만 봐서는 어떻게 동작하는 것인지 알 수 없다. 이런 방식을 이용한다면 sqlite 속도를 끌어 올릴수 있을 것 같아서 opencl 쪽 동작을 살표보고 있다. cuda 가 아닌 opencl 을 보는 이유는 범용성이 좀 더 좋기 때문이다. cuda 를 지원하는 그래픽 카드도 opencl1.2 까지는 지원하기 때문이다. 맥에서도 아직까지는 1.2 정도는 지원하는 것 같다. 그래서 현재 내가 생각하는 버전은 opencl1.2 이다. 물론 맥이 opencl 을 버린다는 이야기가 있어서 그렇긴 한데, 어째든 opencl1.2 까지는 지원하고 있다.
opencl 을 좀 더 싶게 배우기 위해 pyopencl 을 이용하려고 한다. 어차피 둘다 내부적으로는 C 코드를 컴파일 해서 동작하는 방식이다. 그리고 뭔가 유틸리티가 조금은 잘 갖춰진 것 같다. 공부가 잘 된다면 전부터 고민하고 있던, light spread sheet 에 적용해볼 생각이다.