I would like to start working with CUDA and NVIDIA chipsets for HPC. Thus, I would like to ask you the following 2 questions as a beginner. Questions are:
What NVIDIA board do you suggest to buy to start CUDA programming? GeForce GTX, GTS or something else?
I can program in C and C++ but I have almost no experience in parallel computing. Do you think I should start with MPI or go straight with CUDA?
Thanks a lot for your help.
Thanks a lot for the reply. The GTX 275 seems to be a nice buy even here in Italy, compared to others.
Anyway… I have another question though. Since I was planning to buy a new laptop as well, I was wondering whetether or not buying a CUDA enabled laptop, like those ASUS and MSI for gaming purposes.
Does anybody have any experience about GPU programming on laptops?
Sadly, none of the current laptop GPUs (despite what the model numbers suggestion) have all the capabilities of the GTX 200 series of desktop cards. The GTX 200 cards can do double precision, have much smarter memory controllers, and some other interesting features, like the ability to map host memory directly into the device address space. The laptop GPUs can’t do any of these things, with the except of laptops using a specific NVIDIA chipset which can do some tricks with host memory mapping.
That said, I do CUDA development with my MacBook Pro since I don’t rely on any of the fancy GTX 200 features at the moment. It works well enough, and since you need a laptop already, it might be a good way to start. You may find that the laptop GPUs can’t run your code any faster than the CPU, though. (I’m lucky, and even on a laptop, CUDA is an improvement for my code.) You can always put together a cheap desktop system to run the bigger cards if you find that you need more power in the future.
The very fastest laptop GPUs seem to be about on par with an underclocked 8800 GT (now known as the 9800 GT) with 112 stream processors.
FWIW, I have almost exactly the same experience as Seibert. The Macbook Pro is also a nice machine in general, we’ve got two of them. If you’re going to use Linux, there may be other manufacturers that make machines that are easier to configure with Linux. If you have some Linux experience, it’s no problem though.