Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Choosing between GeForce or Quadro GPUs to do machine learning via TensorFlow

Is there any noticeable difference in TensorFlow performance if using Quadro GPUs vs GeForce GPUs?

e.g. does it use double precision operations or something else that would cause a drop in GeForce cards?

I am about to buy a GPU for TensorFlow, and wanted to know if a GeForce would be ok. Thanks and appreciate your help

like image 930
user2771184 Avatar asked Jan 11 '16 05:01

user2771184


People also ask

Which graphic card is better for machine learning?

NVIDIA's RTX 3090 is the best GPU for deep learning and AI. It has exceptional performance and features that make it perfect for powering the latest generation of neural networks. Whether you're a data scientist, researcher, or developer, the RTX 3090 will help you take your projects to the next level.

Can Quadro be used for deep learning?

The new Quadro GV100 packs 7.4 TFLOPS double-precision, 14.8 TFLOPS single-precision and 118.5 TFLOPS deep learning performance, and is equipped with 32GB of high-bandwidth memory capacity. Two GV100 cards can be combined using NVIDIA NVLink interconnect technology to scale memory and performance.

Is NVIDIA Geforce good for deep learning?

The NVIDIA A100 allows for AI and deep learning accelerators for enterprises. The GPU has high-performance computing (HPC), enhanced acceleration, and data analytics to encompass complex computer challenges. Its high power allows it to scale up to thousands of GPUs and divide the workload over multiple instances.

Why is NVIDIA better for machine learning?

So why are GPUs suited for machine learning? Because at the heart of machine training is the demand to input larger continuous data sets to expand and refine what an algorithm can do. The more data, the better these algorithms can learn from it.


1 Answers

I think GeForce TITAN is great and is widely used in Machine Learning (ML). In ML, single precision is enough in most of cases.

More detail on the performance of the GTX line (currently GeForce 10) can be found in Wikipedia, here.

Other sources around the web support this claim. Here is a quote from doc-ok in 2013 (permalink).

For comparison, an “entry-level” $700 Quadro 4000 is significantly slower than a $530 high-end GeForce GTX 680, at least according to my measurements using several Vrui applications, and the closest performance-equivalent to a GeForce GTX 680 I could find was a Quadro 6000 for a whopping $3660.

Specific to ML, including deep learning, there is a Kaggle forum discussion dedicated to this subject (Dec 2014, permalink), which goes over comparisons between the Quadro, GeForce, and Tesla series:

Quadro GPUs aren't for scientific computation, Tesla GPUs are. Quadro cards are designed for accelerating CAD, so they won't help you to train neural nets. They can probably be used for that purpose just fine, but it's a waste of money.

Tesla cards are for scientific computation, but they tend to be pretty expensive. The good news is that many of the features offered by Tesla cards over GeForce cards are not necessary to train neural networks.

For example, Tesla cards usually have ECC memory, which is nice to have but not a requirement. They also have much better support for double precision computations, but single precision is plenty for neural network training, and they perform about the same as GeForce cards for that.

One useful feature of Tesla cards is that they tend to have is a lot more RAM than comparable GeForce cards. More RAM is always welcome if you're planning to train bigger models (or use RAM-intensive computations like FFT-based convolutions).

If you're choosing between Quadro and GeForce, definitely pick GeForce. If you're choosing between Tesla and GeForce, pick GeForce, unless you have a lot of money and could really use the extra RAM.

NOTE: Be careful what platform you are working on and what the default precision is in it. For example, here in the CUDA forums (August 2016), one developer owns two Titan X's (GeForce series) and doesn't see a performance gain in any of their R or Python scripts. This is diagnosed as a result of R being defaulted to double precision, and has a worse performance on new GPU than their CPU (a Xeon processor). Tesla GPUs are cited as the best performance for double precision. In this case, converting all numbers to float32 increases performance from 12.437s with nvBLAS 0.324s with gmatrix+float32s on one TITAN X (see first benchmark). Quoting from this forum discussion:

Double precision performance of Titan X is pretty low.

like image 160
Patric Avatar answered Sep 22 '22 23:09

Patric