They did double-precision at 1/4th their single-precision rate, which is the best you're going to find at consumer-grade pricing - even more-modern or more powerful cards have backed off on double-precision, so something like a 290x has almost 50% more shader ALUs than a 280x, and will perform better at single-precision workloads, but only does double-precision at a rate of 1/8th, so its actually slower in purely double-precision workloads. Feel free to ask more questions.Īs for a particular model, if double-precision performance is important, go with a 7970 or 280x on theAMD side (or 7990 if you need dual-gpu in one slot). Programming might be more convenient, but performance will stay the same. Also, Nvidia GPUs are scalar based, so if much of you speedup would come from using OpenCL's vector structures, that won't happen on Nvidia GPUs the same way that it would on AMD. Mainly what I'm referring to is Nvidia's NSight program, which can do OpenCL if you're willing to pay for the "pro" edition. I've learned OpenCL, and I like it's portability and openness, but I look at some of the stuff my friends can do with CUDA and I can't say that I'm not envious. I've heard that you can get better performance (read: speedups) using CUDA over OpenCL, but I've never tested that for myself, or seen proof firsthand. I suppose we should expect that though from a proprietary language, on proprietary hardware, using a proprietary driver. Syntactically it's very similar to OpenCL but the tools you have access to for debugging, profiling, and increasing performance as well as the overall stability of the programs seems to be much much better. I would say that if you're going to use Nvidia GPUs for GPGPU computing, consider learning CUDA. I personally really like this setup and the only thing that could make it better would be more GPUs and a great, solid open source driver. It's usually my fault for writing shitty code). I use the binary blob from Nvidia and it has been pretty stable with the occasional driver crash for whatever reason (maybe once in a six month period, but things just restart and it's fine. I have two Nvidia 780 GPUs in my machine (an Alienware Aurora R4) and getting everything running under linux was actually much smoother than my initial attempt to get OpenCL running under Windows 8, so I don't think you'll have too much trouble there. I've been the one to program it using OpenCL under Ubuntu (I insisted I use linux windows was too infuriating) so I'll share my experience. I work in a lab that does CT image reconstruction (all gpgpu computing) as part of what we do.
0 Comments
Leave a Reply. |