Thursday 11 March 2010

Getting Started With OpenCL

To learn OpenCL, I have been busy working through some of the examples provided by Apple and NVIDIA. My initial experience of working through the code has induced suicidal thoughts, deep soul searching about my ability as a software developer, and face slapping exercises in front of the mirror combined with primal scream therapy.

Having worked through this, I have come to the conclusion that OpenCL is no more difficult, or easy, than anything else. It's simply new. Anything new always appears difficult at first. Keep going, and you will master it.

Part of the problem has been help, or rather, lack of it. Macresearch.org are brilliant and they have some great tutorials. You can also find some good stuff in the NVIDIA SDK examples.
The issue is that when you start working on stuff on your own, with specific programming issues related to your parallel algorithms, the forums often go dead.

It's not surprising. Answering a question about how to call a kernel, or why your program won't compile is relatively straightforward. Sitting down and spending several hours working through your code to find out why it doesn't work, that's another matter.

Anyway, I digress. What I want to do here is work through some OpenCL sample code and encourage collaboration. If I'm wondering why a bit of code is the way it is, perhaps others are too. Hopefully we can help each other.




1 comment:

  1. There are 3 books on OpenCL out there, it may be a good start.

    ReplyDelete