I’m new to GPGPU stuff in general, only having started looking at it earlier this year, but I’m delighted that I now have a machine that is actually capable of running CUDA thanks to the MacOS X release ! Should make life much easier.
I was wondering if, in typical newbie fashion, anyone had any good suggestions for getting started ? I am interested in converting some existing C programs over to try and leverage the advantages, but I’m not a software engineer by trade, and I’m a bit stumped as the best place to start off.
Should I try and develop an real understanding of parallel program development ? If so can someone point me somewhere to learn ? I’ve looked in this section of the forum, which I appriciate is new, could someone point me to posts in the other areas ?
Thanks for taking time to help out, I do appriciate that newbie questions can be a pain to those who are experts in the field !
Kind Regards,
Si
Addendum :
Also, I assume that it is perfectly possible to call CUDA from Objective-C, as it is fully C compatible or am I barking up the wrong tree with that ? Ta.
There are some links on how to get started and that tell you something about Massive parallel programming.
Also the programming guide will do good it will be a bit hard for someone that does not have a lot experience with programming but I also managed to do so.
I learned a lot by looking at the Matrix Multiplication example in the CUDA programming guide. Then I took a look at the convolution samples in the SDK. Convolution basically means “gaussian blurring”, blending surrounding pixels into each pixels, weighting them with a Gaussian function. A peek at Wikipedia for gaussian blurring and convolution should explain it. (Just remember that ‘convolution’ is way too complex a word. It’s just a pixel-merging function.)
Basically, try to find an example CUDA project in the SDK that speaks to you and learn bit by bit.
I haven’t used Objective-C, but I assume that you can call normal C-style functions exposed in shared libraries / header files from ObjC. I do that from a C++ project - call C-style CUDA functions. It works.
Thank you so much for that guys - that is a really helpful resource list (downloading the MP3s of the lectures as I type !) - and it is good to know that I stand a chance without being a programming guru :-)
I have to say skip the first 15min of first MP3 I think that was blablabla… Some introduction for the new students… But it was a long time for me so don’t pin me down on it.