[Help]New to GPU programming; How do I start? Pre-requisites? Softwares? Hardwares?

Hi, I’m a Computer engineering undergraduate tasked to investigate performance impact of classical optimization techniques such as loop unrolling. Expected to use simulator or GPU device to test the optimization techniques on typical benchmarks.

I’ve some programming background knowledge in C,C++ and Java.

I’m using a notebook to perform this experiment.

  1. Assuming I am using a simulator, is a notebook with a dedicated GPU sufficient for such an experiment? Or do I have to invest in a GPU device and work on it using a desktop?

  2. I have zero knowledge in CUDA and GPU programming. Where do I start? I’ve tried googling and running through Nvidia developer zone but the materials provided assumed certain background knowledge already.

  3. Programming on Win 7 or Win XP?

I’m not sure if I’m posting in the right sub-forum so I’m sorry about it. If you know of any help or forums I can turn to, please kindly point me to it. Thank you all in advance for taking time to read and for the help provided.

  1. When you say you’ll be running with a dedicated GPU, specifically what GPU is this? Your performance results will vary vastly based on what card you’re using, not to mention what CUDA features you’ll have access to (based on the compute capability of the card).

  2. I think the best way to start is to download the SDK and play around with the examples, while referencing the “CUDA Best Practices” and “CUDA Programming” manuals.

  3. I’m using Win7 for my CUDA programming