Best graphics card for GPU computing

Dear all, I'm beginning a new project where I will need to use GPU for my research. Could you help me to chosse the best one in the market at this stage (no real limit for its cost). Best regards. Sébastien

Answers (1)

Brendan Hamm
Brendan Hamm on 27 Jul 2015
The Best GPU which you can use with MATLAB is going to be the Nvidia Tesla K80 meant for server systems. It runs around $5,000 USD. It's predecessor the K40 runs about $3,000, but the K80 is basically 2 of these in one. With that in mind I assume there may be a cost issue involved, so I will also mention the NVidia Titan Z which runs about $1500. All of these are great for double precision. If you need to further constrain this budget (or if single precision is fine for your problem) you could consider the Titan X or the GeForce 980 ($1200 and $700 respectively).

10 Comments

You of course also have the option of running several smaller GPUs in parallel if your problem can be broken down such. Also, you can connect several GPUs together with an SLI bridge provided your motherboard supports this.
Cooling may be a significant issue with the Nvidia Tesla series; they are not intended for use in a laptop for example.
AS a follow-up to Walter's comment, the Titan Z (and single precision Titan X) also come in the Hydro-Copper edition now, which rather than including fans on the GPU has a hookup for your liquid-cooling solutions. They do run a few hundred more.
Thanks for these first posts. Yes, I will mount it on a labtop so cooling can be a issue. I will check these products.
If you are using a laptop, form-factor and slot type may be a big issue.
The K80 is PCI-Express Gen 3, dual-slot, 267 mm length, intended for use in servers. http://images.nvidia.com/content/pdf/kepler/Tesla-K80-BoardSpec-07317-001-v05.pdf
Also, for information about systems with PCIe Gen3 support, see discussions about SSDs; for example http://www.tomshardware.com/answers/id-2310842/gen-ssds-32gb-bandwidth.html
Received a followup email to this thread reading:
I am looking for an affordable GPU and cannot afford a Tesla top of the line. My application revolves around double precision computations and I have previously been using (and have been very happy with) Titan Z. Alas, those are no longer available. . . What would you recommend at this time instead of the Titan Z - at a comparable (hopefully better) performance and price? -Nick
My Answer:
You can still find some Titan Zs available on the secondary market. I have found a few sites which have them available. Alternatively, you can get the 980 or 980Ti (Maxwell Architecture) which run about $500-600 or the 780/780Ti (Kepler Architecture) at about $700, but the performance does not even compare to the Titan and they have much less memory available on them. But at 1-slot a piece you can run multiple of any of these cards on an SLI bridge (with a compatible motherboard). Your next best bet is to step up to the Tesla which will run you more in terms of money but cost more as well. The Tesla K40 runs about $3k and the K80 at $4500, but are not meant for desktop stations. If you were to go down this route the K80 is much better a the price as it is essentially like having 2 K40s running on a bridge. Also note that these K models are passive cooling, so you would need to consider the cost of cooling these beasts.
Some things to consider when buying one would be:
  1. Item one How much memory do you need? It is expensive to send data back and forth to the computer memory, meaning the more you can hold on the GPU, the better.
  2. Item two Do you require double precision? Some applications may only require you to run single precision computations. In such cases you could step down to the M series (M4, M40, M6, M60) which use the Maxwell architecture.
On a personal note, I would try really hard to find a Titan Z somewhere other than the standard Amazon/newegg/BestBuy outlets. Someone has one for gaming that just doesn't need all that double precision power, so find it and scoop it up!
Will a matlab code run faster, if I use a GPU ?
Thanks in advance.
@Ravi: Not in general.
Following up on Jan's response: MATLAB only uses the GPU if it is specifically asked to, using gpuArray and similar routines.
Note, though, that some deep learning routines in the Neural Network toolbox, such as alexnet and RCCN, rely upon GPUs with compute capacity 3.0 or later. This is a specific application, not MATLAB in general.
I saw this pop up in my inbox and thought it prudent to mention that the "best" GPU is naturally changing over time, despite the fact that there is some level of subjectiveness in the answer. That being said in 2017 the P100 (~$10k) series of cards as well as the V100 (~$15k) series have been released. Both of these can be either PCIe or NVLink, the former being the "standard GPU port" and the latter being a much faster port, so if there are greater communications overhead (data from the CPU memory) this is a great advantage. Furthermore they both utilize the HBM2 memory which is considerably faster than DDR5. Lastly the V series utilizes Volta processing units (in addition to the Pascal units) which are specifically designed for Deep Learning. If one is on a budget there is also the less powerful Titan V utilizing the volta cores and HBM2 (~$3000).

Sign in to comment.

Tags

Asked:

on 27 Jul 2015

Commented:

on 3 Jan 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!