• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Cuda Core Comparison

Andyk5

[H]ard|Gawd
Joined
Jul 27, 2011
Messages
1,154
For one second, lets forget about gaming and frame rates and look in to Cuda Cores.

are the Cuda Cores in lets say a Gtx680 ($450) and a Quadro K6000($3500) same?
as far as sheer numbers, GTX 680 has almost 4 times more CUDA cores than the quadro, which would mean that it would have better performance than the quadro when a mathematical computation program like Matlab did floating point calculations on it in parallel.
I understand most of the price difference between consumer and enterprise cards is due to signed nad tweaked drivers but I would think that they also would have a similar build plan to a multi processr server where you would not have the clock speeds of a single cpu gaming computer and would run things that are single core/single cpu slower, but when it comes to multi cpu. multi user applications blow the consumer cpu's out of the water.
I thought you could do much more in terms of computations with a Quadro in parallel than a consumer card although it may not give you the frame rate that you are looking for in Battlefield.
 
I always assumed the Quadro was around (same thing for Fire GL on AMD) just so they could sell their cards expensively to corporate customers. Try explaining to a person in Corporate Purchase Approvals why you need a $300 gaming card for work.. it's not worth justifying a gaming card when you can say you need a $3500 Professional Graphics Card (that does not have picture of a laser rifle wielding girl on the box), and they will look at the request and assume you need the card for something important and approve it. It's like the US Government buying a screwdriver.. if you sell it to them for $10, they are going to think it's no good... but if you charge $10k for the same screwdriver, they think they are getting a really nice screwdriver.
 
Hm, no they are not. K6000 is GK110, GTX680 is GK104.
GK110 has dedicated DP-compute units inside the CUDA cores which GK104 has not. GK110 also has CUDA 3.5 capability while GK104 only has 3.0
 
Hm, no they are not. K6000 is GK110, GTX680 is GK104.
GK110 has dedicated DP-compute units inside the CUDA cores which GK104 has not. GK110 also has CUDA 3.5 capability while GK104 only has 3.0

Thank you for the information. Can you get in to a little bit more detail if you know more on the subject and the advantages of cuda 3.5 capability ( not just wikipedia definition but real life impact) and dedicated DP compute units.
 
One thing to keep in mind is that GK104 and GK110 cores aren't exactly equal.

Off the top of my head I would say the biggest advantage for the quadro is its increased double precision performance. Every 3 GK110 cuda cores share a double precision unit, making double precision performance 1/3 that of single precision performance. Much better than the GK104, where double precision performance is 1/24 that of single precision. You can already see that given the same number of cores the quadro will come out way ahead.

There are some other features that have some added benefit, most notably I would say:
ECC
Dynamic Parallelism(this is pretty awesome)
Hyper-Q
GPU Direct

If you'd like more detail on something let me know, right now I am just getting to ready to head out from work. In the meantime the you can find lots of information in the whitepapers if you want to browse through them:

http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf
http://www.geforce.com/Active/en_US/en_US/pdf/GeForce-GTX-680-Whitepaper-FINAL.pdf
 
One thing to keep in mind is that GK104 and GK110 cores aren't exactly equal.

Off the top of my head I would say the biggest advantage for the quadro is its increased double precision performance. Every 3 GK110 cuda cores share a double precision unit, making double precision performance 1/3 that of single precision performance. Much better than the GK104, where double precision performance is 1/24 that of single precision. You can already see that given the same number of cores the quadro will come out way ahead.

There are some other features that have some added benefit, most notably I would say:
ECC
Dynamic Parallelism(this is pretty awesome)
Hyper-Q
GPU Direct

If you'd like more detail on something let me know, right now I am just getting to ready to head out from work. In the meantime the you can find lots of information in the whitepapers if you want to browse through them:

http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf
http://www.geforce.com/Active/en_US/en_US/pdf/GeForce-GTX-680-Whitepaper-FINAL.pdf

I am getting interested in parallel computing. I learning scripting and coding applications that run in parallel cores and being able to unload the work to a GPU is fascinating.
Can you talk about those added benefits more. I will be browsing those links in the meantime.
 
ECC - this is an option for hardware error correction and be activated/deactivated via a driver setting.

Dynamic Parallelism - When offloading work to the GPU you must first transfer your data into GPU memory, then execute a kernel(think of it as a GPU program), once finished you must then transfer the data back to host or CPU memory. Where dynamic parallelism comes into play is that it allows a kernel to launch other kernels on the GPU. For example, say you are running some iterative numerical optimization routine, before dynamic parallelism, after each iteration you would send a small bit of data to the cpu, the cpu would inspect this data and determine if your optimization routine has converged, then either terminate the optimization or tell the GPU to launch another kernel to run another iteration. Communication between the GPU and CPU is quite slow(relatively speaking) and for smaller data this convergence check might take longer than one iteration of the optimization routine itself(for smaller data). Where dynamic parallelism comes into play is that the GPU would be able to do some self-monitoring of the optimization routine and dynamically launch kernels to run more iterations until the routine converges, thus cutting out all of the "check-ins" with the CPU after each iteration. This can speed things up considerably. Currently AMD has no equivalent to dynamic parallelism, which is quite a shame because I think they have superior hardware.

GPU Direct is a feature that allows one GPU to copy data directly to another GPU across a network. Previously if one wished to copy data from one GPU to another in a different PC it was first copied from GPU_1 to CPU_1 memory, then went across the network interface(10gigabit, infiniband, etc..) and into CPU_2 memory, then finally from CPU_2 memory to GPU_2. GPU Direct helps to cut out the unnecessary copies into the CPU memories so that it the data travels like so: GPU_1 -> across network -> GPU_2.

HyperQ allows multiple CPU threads to launch work on the GPU. For example, if a program has multiple jobs or tasks for the GPU and each one is running in a different thread and consumes a smaller percentage of GPU resources(say 10-30% or something). HyperQ allows these threads to use the GPU simultaneously.
 
Also, if you would like to get into GPU computing I will warn you that it can get terribly sticky, I would recommend some experience with C/C++. If you program in CUDA C or OpenCL expect to do a lot of careful memory management and pointer arithmetic.

However, you can get into GPU computing without writing and actual kernels or worrying about the lower level details. There are some great libraries that can handle a lot of this for you, while you won't get the absolute best performance out of the device, the programming is much easier, and sometimes this means the difference between a working program and messy pile of code. If your a C++ kinda guy you might start out with C++ AMP or Thrust, otherwise I think that there are some python libraries if you are more into scripting languages.
 
Back
Top