Newbie question on CUDA minimum hardware requirements

I want to learn CUDA programming and I would like to find out the minimum hardware requirements. How many video cards do I need? Do I need a quad core CPU? How much memory is required on my PC?

Thanks in advance.

I want to learn CUDA programming and I would like to find out the minimum hardware requirements. How many video cards do I need? Do I need a quad core CPU? How much memory is required on my PC?

Thanks in advance.

Hardware requirements are pretty minimal. You do not need a multi-core CPU, and no more host memory than you usually need to run the C++ compiler.
A single CUDA capable video card is sufficient, although a dual GPU setup eases debugging and allows longer kernels to run, as the CUDA GPU no longer has to update the screen regularly.

The video card probably should have at least 256MB of memory, as the video driver will want it’s share of that as well. However, if you happen to have a card with 128MB, start with that, and buy a more suitable card later once you have figured out what your particular needs are. Be aware though that not all examples from the SDK toolkit will run with only 128MB.

In principle, you could even start learning CUDA without a CUDA-capable GPU at all, just using ocelot as an emulator. However, you will then have to start from a more complicated setup, and might not get as well a sense of the performance specifics as with a real device, so I would not recommend that.

Of course, more memory on host and GPU, and a faster CPU are always desirable. :smile:

Hardware requirements are pretty minimal. You do not need a multi-core CPU, and no more host memory than you usually need to run the C++ compiler.
A single CUDA capable video card is sufficient, although a dual GPU setup eases debugging and allows longer kernels to run, as the CUDA GPU no longer has to update the screen regularly.

The video card probably should have at least 256MB of memory, as the video driver will want it’s share of that as well. However, if you happen to have a card with 128MB, start with that, and buy a more suitable card later once you have figured out what your particular needs are. Be aware though that not all examples from the SDK toolkit will run with only 128MB.

In principle, you could even start learning CUDA without a CUDA-capable GPU at all, just using ocelot as an emulator. However, you will then have to start from a more complicated setup, and might not get as well a sense of the performance specifics as with a real device, so I would not recommend that.

Of course, more memory on host and GPU, and a faster CPU are always desirable. :smile:

If 2 GPUs is better than one, do I have to buy 2 similar GPUs. Can I have one lower end video card for display and 1 high end one for CUDA development?

If 2 GPUs is better than one, do I have to buy 2 similar GPUs. Can I have one lower end video card for display and 1 high end one for CUDA development?

Yes, you can, and I would recommend doing so.

A further option would be to buy a low end card now and start learning CUDA on that one. Once you’ve mastered the basics and get to improving the performance of your code, you can then buy the high end part. At that time it will probably have dropped in price and/or improved devices may be available, and you will have a better idea of your particular needs.

Yes, you can, and I would recommend doing so.

A further option would be to buy a low end card now and start learning CUDA on that one. Once you’ve mastered the basics and get to improving the performance of your code, you can then buy the high end part. At that time it will probably have dropped in price and/or improved devices may be available, and you will have a better idea of your particular needs.

tera’s suggestion to start with a cheap card and turn it into the display card later if/when you buy a higher-power CUDA card is a good idea. The GT 430 is a pretty inexpensive card now, but is compute capability 2.1, and therefore supports all the same CUDA features as the faster GTX 400 and 500 series cards. If you don’t already have a GeForce 8 or higher GPU, the GT 430 might be a good place to start.

tera’s suggestion to start with a cheap card and turn it into the display card later if/when you buy a higher-power CUDA card is a good idea. The GT 430 is a pretty inexpensive card now, but is compute capability 2.1, and therefore supports all the same CUDA features as the faster GTX 400 and 500 series cards. If you don’t already have a GeForce 8 or higher GPU, the GT 430 might be a good place to start.

It sounds a very good idea. Currently, I have a 8800 GT and I like to get a 580 in a few months when I am capable to utilize the power. However, are they are the same? Should I get a low end Fermi card instead of using 8800 GT as a learning tool.

It sounds a very good idea. Currently, I have a 8800 GT and I like to get a 580 in a few months when I am capable to utilize the power. However, are they are the same? Should I get a low end Fermi card instead of using 8800 GT as a learning tool.

The 8800 GT is a compute capability 1.1 device. It lacks a few features of the compute capability 2.x devices:

  • Double precision floating point

  • Shared memory atomic functions

  • Floating point atomic functions

  • L1 and L2 cache

  • Relaxed memory coalescing requirements

  • Support for device-side dynamic memory allocation

That said, most of the CUDA basics are shared between the all capable devices. The 8800 GT is a perfectly fine card to learn CUDA on. It is fast enough to be interesting, and you already own it, so you can’t beat the price. :)

The 8800 GT is a compute capability 1.1 device. It lacks a few features of the compute capability 2.x devices:

  • Double precision floating point

  • Shared memory atomic functions

  • Floating point atomic functions

  • L1 and L2 cache

  • Relaxed memory coalescing requirements

  • Support for device-side dynamic memory allocation

That said, most of the CUDA basics are shared between the all capable devices. The 8800 GT is a perfectly fine card to learn CUDA on. It is fast enough to be interesting, and you already own it, so you can’t beat the price. :)

Hello guys,
I am PhD researcher working with massive simulation codes (C++ and C). My team like to purchase a GUP machine (PC) it should be upgradable in future.
Price will not be a big issue (I can go around 3000Euro). Could you please give a best and latest system configuration detail with approximate price (Processor, motherboard graphic card- with CUDA capability).
From my Google search i could not find any good details. Pls you can also give the helpful links.
I am looking for your answer
Thanks in advance
Vishva

Hello guys,
I am PhD researcher working with massive simulation codes (C++ and C). My team like to purchase a GUP machine (PC) it should be upgradable in future.
Price will not be a big issue (I can go around 3000Euro). Could you please give a best and latest system configuration detail with approximate price (Processor, motherboard graphic card- with CUDA capability).
From my Google search i could not find any good details. Pls you can also give the helpful links.
I am looking for your answer
Thanks in advance
Vishva