Slashdot Mirror


Ask Slashdot: GPU of Choice For OpenCL On Linux?

Bram Stolk writes So, I am running GNU/Linux on a modern Haswell CPU, with an old Radeon HD5xxx from 2009. I'm pretty happy with the open source Gallium driver for 3D acceleration. But now I want to do some GPGPU development using OpenCL on this box, and the old GPU will no longer cut it. What do my fellow technophiles from Slashdot recommend as a replacement GPU? Go NVIDIA, go AMD, or just use the integrated Intel GPU instead? Bonus points for open sourced solutions. Performance not really important, but OpenCL driver maturity is.

6 of 110 comments (clear)

  1. Future of GPU is Open Standards by Anonymous Coward · · Score: 5, Informative

    The future of GPU's is open standards. GPU's won't take off until all major vendors support the latest (OpenCL 2.0) standards
    Here is the list of conformant products
    https://www.khronos.org/conformance/adopters/conformant-products#opencl

  2. OpenCL for CT Image Reconstruction by captnjohnny1618 · · Score: 5, Informative

    I work in a lab that does CT image reconstruction (all gpgpu computing) as part of what we do. 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 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 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. It's usually my fault for writing shitty code). 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.

    I would say that if you're going to use Nvidia GPUs for GPGPU computing, consider learning CUDA. 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 suppose we should expect that though from a proprietary language, on proprietary hardware, using a proprietary driver. 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'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. 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. 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. Programming might be more convenient, but performance will stay the same.

    Hope that helps. Feel free to ask more questions.

    1. Re:OpenCL for CT Image Reconstruction by captnjohnny1618 · · Score: 4, Informative

      Also, just to add, from everything I've read out there as of right now the consensus is that AMD's support for OpenCL is better than Nvidia. That being said, performance is dependent on a lot of things (the programmer, the algorithms used, how the problem is parallelized, etc.) and the raw power of Nvidia GPUs can, in some cases, despite "less support," still be better. Personally, I would choose Nvidia over AMD given the chance to choose again.

  3. Re: You're not going very far with nVidia by cheesybagel · · Score: 3, Informative

    If you're fine with being stuck with OpenCL 1.1 while AMD has OpenCL 2.0 support sure. NVIDIA treats OpenCL like a bastard stepchild.

  4. AMD is the only real option by SoftwareArtist · · Score: 4, Informative

    If you want to write modern OpenCL code and run it on a GPU, AMD is your only option.

    In terms of performance, NVIDIA is actually the best. But they've been stuck at OpenCL 1.1 for years, while everyone else has long since moved to newer versions. Until (if) they add OpenCL 2.0 support, they'll be a bad choice.

    Intel doesn't support running OpenCL on the GPU under Linux. See the chart at the end of https://software.intel.com/en-.... You can still write OpenCL programs, but you'll just be running them on your CPU.

    --
    "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
  5. Re: You're not going very far with nVidia by cheesybagel · · Score: 3, Informative

    Troll uh? Slashdot keeps getting dumber every month. C++ apologists, Apple apologists, NVIDIA apologists. Are you all dumbasses or has this turned into a cesspool of astroturfers and sycophants?

    NVIDIA has removed OpenCL support from the debugger, has not updated their OpenCL from version 1.1 for years unlike either AMD or Intel which have had 1.2 and 2.0 releases since then. They removed OpenCL support from their standard Linux dev kit and it has to be installed separately. They want to push everyone into CUDA. They have someone from NVIDIA chairing the OpenCL Khronos committee but then again Microsoft also used to have a big presence in the HTML committee while delivering the worst standard compliant browser in the market.