Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference with CUDA Hardware Quadro 4000 Vs. GeForce 480

Tags:

cuda

hardware

I'm building a workstation and want to get into some heavy CUDA programming. I don't want to go all out getting the Tesla cards and have pretty much narrowed it down to either the Quadro 4000 and the GeForce 480, but I don't really understand the difference, on paper it looks like the 480 has more cores 480 vs 256 for the 4000, but the 4000 is almost twice as much the 480 in price. Does someone understand the difference here to justify the higher price.

I will be doing scientific computing on it, so everything will be in double precision, if that makes a difference between them.

like image 535
Andrew Redd Avatar asked Sep 15 '10 20:09

Andrew Redd


People also ask

Does Quadro 4000 support Cuda?

Equipped with 2304 CUDA® cores, 288 Tensor Cores, 36 RT cores and 8 GB GDDR6 memory, the Quadro RTX 4000 is designed to manage the most intensive AEC, DCC, AI, VR and graphics workloads.

What is the Quadro 4000 equivalent to?

The nearest Quadro 4000's AMD equivalent is FirePro W6150M, which is faster by 2% and higher by 6 positions in our rating.


3 Answers

If you neither care about visualization nor rendering (drawing final results on screen e.g. raytracing) than the answer to your question is slightly more simple, but not trivial.

I'm not going to go into detail about the differences between Quadro and GeForce cards, but I will just underline the significant points which can contribute in choosing between them.

In general:

  1. If you need lots of memory than you need Tesla or Quadro. Consumer cards ATM have max 1.5 Gb (GTX 480) while Teslas and Quadros up to 6 Gb.

  2. GF10x series cards have their double precision (FP64) performance capped at 1/8-th of the single precision (FP32) performance, while the architecture is capable of 1/2. Yet another market segmentation trick, quite popular nowadays among hardware manufacturers. Crippling the GeForce line is meant to give the Tesla line an advantage in HPC; GTX 480 is in fact faster than Tesla 20x0 - 1.34TFlops vs 1.03 TFlops, 177.4 Gb vs 144 Gb/sec (peak).

  3. Tesla and Quadro are (supposed to be) more thoroughly tested and therefore less prone to produce errors that are pretty much irrelevant in gaming, but when it comes to scientific computing, just a single bit flip can trash the results. NVIDIA claims that Tesla cards are QC-d for 24/7 use.

    A recent paper (Haque and Pande, Hard Data on Soft Errors: A Large-Scale Assessment of Real-World Error Rates in GPGPU) suggests that Tesla is indeed less error prone.

  4. My experience is that GeForce cards tend to be less reliable, especially at constant hight load. Proper cooling is very important, as well as avoiding overclocked cards including factory overclokced models (see Figure 1 of the previously mentioned paper).

So as a rule of thumb:

  • for development: GeForce (unless you absolutely need >1.5 Gb memory)
  • for production HPC/scientific computing:

    • Tesla: if you need lots of memory or FP64 (+reliability?)
    • Quadro if need FP64 and/or also need advanced rendering features (the new "Fermi" Teslas have similar rendering capabilities as a GeForce)

      If you want to use FP64 intensively, forget about GeForce, otherwise

    • **non factory-overclocked* GeForce*: saves money ;)

Back to the specifics of your question:

The two cards you mention are from entirely different league and therefor not directly comparable. If you need the Quadro's rendering features get a Quadro. Otherwise, Quadro is not really worth it especially not the 4000 which is even slower than a GTX 460 while it costs ~3.5x more. I think you're better off with a GTX 470 or 480, just make sure that you buy the ones with standard frequencies.

Note that the crippled GeForce double precision performance is not an issue in this comparison, but let me elaborate. As the Quadro 4000 is a low-end model with AFAIR only 450 MHz shaders (I can't find the reference ATM, but it should be definitely lower than the 5000 which is clocked at 513 MHz) which gives it around 115 GFlops FP64. At the same time, the capped GTX 480 is around 168 GFlops FP64 and even a GTX 460 is around 113 GFlops (peak).
Both the FP32 performance and memory bandwidth is much lower on the Quadro 4000 comapred to the GTX 480 (86.9 vs 177.4 GB/s)!

Note, that from the point of view of theoretical peak performance the GTX 480 (data sheet) is considerably faster than both Tesla C2050/2070 and Quadro 6000 which is reflected in most applications.

like image 69
pszilard Avatar answered Oct 13 '22 01:10

pszilard


There are some small advantages to the Quadro/Tesla cards not mentioned above:

  • ECC memory. Going along with the point about fewer bit errors, the Tesla cards and the high end Quadros (5000 and 6000, not .the 4000) have ECC memory, which should decrease the rate of soft errors.
  • Number of slots (and some related power and cooling issues). The Quadro 4000 is a single slot card. The Quadro 2000 is a single slot three quarter length card. While the GeForce GTX 480, 470, and even 460 can outdo the Quadro 4000 in single precision, you're not going to find them in a single slot. That means that if you putting it in a 1U server rack, or a blade, or if you want to have 6 GPUs working in parallel in a single server for GPGPU work, you can do some interesting things that aren't easy with the GeForce range. If you can massively reduce the number of blades or rack space that you need to take up, then the extra price for each individual card is well worth it. All of this is related to the binning of the chips.

Certainly these advantages don't make any difference for most people. For certain uses, though, they're critical.

like image 22
johnthacker Avatar answered Oct 13 '22 01:10

johnthacker


The advantages of a "gamer" GPU (GeForce GTX series, like GTX 780) over "professional" GPU (Tesla series and Quadro series) for CUDA programming are:

  • GTX has better single precision performance
  • GTX has higher memory bandwidth
  • GTX costs much less

But

  • Quadro and Tesla generally have more memory
  • Quadro and Tesla offer better double precision performance
  • Some Quadro GPUs take only one PCI-E slot instead of two (as mentioned in another answer).

Clearly the choice of GPU depends on what you need in your application. But I think that for most applications GTX is a better choice. For example, in many image processing applications single precision is enough and GTX is clearly a better choice considering it performance and price. For example, in this article written by main developers of OpenCV GPU library the authors used NVidia GTX 580 for bench-marking their results against the CPU. I'd say go with Quadro or Tesla if you need better double precision performance or more memory.

like image 23
Alexey Avatar answered Oct 13 '22 00:10

Alexey