Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: OpenCL Linux Benchmarks With The Latest Linux GPU Drivers

  1. #1
    Join Date
    Jan 2007
    Posts
    15,138

    Default OpenCL Linux Benchmarks With The Latest Linux GPU Drivers

    Phoronix: OpenCL Linux Benchmarks With The Latest Linux GPU Drivers

    This week there's already been a high-end OpenGL comparison using the latest proprietary drivers with newer AMD Radeon and NVIDIA GeForce graphics cards. Those OpenGL results were followed by a 2D NVIDIA/AMD Linux performance comparison and now to end out the week are some OpenCL compute benchmarks.

    http://www.phoronix.com/vr.php?view=20472

  2. #2
    Join Date
    Dec 2010
    Posts
    8

    Default

    I suspect the reason for the AMD cards doing worse is that the kernel's were not tuned to them. I've thrown my hand at a few implementations on CUDA now and i can tell you to get the best performance, you will have to redo the algorithm a few different ways or even different approaches and use a special operation or 2 that is faster on one architecture than the other, if it's even implemented. There's lots of constants to play with for occupancy and utilization to really make every cycle count too. By my understanding of the 290, it should be outdoing the titan healthily for most work loads if the code is tuned right... my speculation is that the scientific community is mainly using nvidia cards and it's dated/crap implementation of opencl 1.1 which is a little hairy and often slower than cuda or other ocl implementations - the scientific community probably optimized to nvidia's "unique" implementation and so now we have something that isn't really doing justice by AMD. Nvidia's really been playing hard ball at keeping the scientific community too... hope AMD is paying attention to that... I've heard they've been giving away Teslas and Titan's if you catch my drift.

    I'm actually thinking that OCL/GPGPU benchmarks are not really doing a good job in comparison to what PTS would normally produce. This is a much harder domain to measure accurately performance of. Basically even if a program is not written explicitly in a platform specific way, it is tuned in a platform specific way and that bias will always show up in benchmarks thus negating their utility. To that extent for these benchmarks to be valid, the playing field needs to be leveled. I'd recommend as a start to figure out how to measure occupancy and memory bandwidth utilization in these tests across ocl implementations so one can gauge if a particular kernel isn't working efficiently on the hardware executing it and reject or weight the results appropriately.

  3. #3
    Join Date
    Jul 2013
    Posts
    101

    Default

    Quote Originally Posted by nevion View Post
    I suspect the reason for the AMD cards doing worse is that the kernel's were not tuned to them.
    Yeah, you are right if you want performance on AMD opencl you need little kernels, so if you want to do a complex program you'll need to split it on a lot of little kernels to achieve performance, but this make everything harder to maintain and debug so it's better to just write the code following the standard and see amd inlining all functions till it gets out of resources, if AMD want performance they could fix the compiler.

  4. #4
    Join Date
    Oct 2013
    Posts
    195

    Default

    Wasn't OpenCL supposed to overcome these platform specific stuff in first place?

  5. #5
    Join Date
    Jul 2013
    Posts
    101

    Default

    Quote Originally Posted by siavashserver View Post
    Wasn't OpenCL supposed to overcome these platform specific stuff in first place?
    Well as far as you follow the standard it should work on all vendors, but amd have huge problems with large kernels but a lot of people thinks that AMD is faster on everything opencl related cause it's good for mining.

    Amd is working on a fix to the problem but they're taking their time (~3 years now) and there's some improvements on 14.6 drivers but i'll not recommend AMD for anything more than mining and gaming.

  6. #6
    Join Date
    Oct 2009
    Posts
    62

    Default

    http://www.luxrender.net/forum/viewt...p?f=34&t=11009

    This is the result with Intel OpenCL CPU device:
    4.5 seconds is a quite reasonable time.

    I don't know how much takes to compile the kernel because I gave up after 15 minutes.
    http://www.luxrender.net/forum/viewt...art=10#p105241

    AMD GPU compiler is far far worse than the CPU one.
    AMD OpenCL support is pure garbage, I pity the fools that think AMD is such an OpenCL champion. This should not be a surprise to anyone, you already seen why AMD is crap from the Valve blog.

    This vendor can't get key stuff like queries or syncs to work reliably. So any extension that relies on syncs for CPU/GPU synchronization aren't workable. The driver devs remaining at this vendor pine to work at Vendor A.

    Vendor B can't update its driver without breaking something. They will send you updates or hotfixes that fix one thing but break two other things. If you single step into one of this driver's entrypoints you'll notice layers upon layers of cruft tacked on over the years by devs who are no longer at the company. Nobody remaining at vendor B understands these barnacle-like software layers enough to safely change them.

  7. #7
    Join Date
    May 2011
    Posts
    1,562

    Default

    Quote Originally Posted by siavashserver View Post
    Wasn't OpenCL supposed to overcome these platform specific stuff in first place?
    The API is platform independent but like nevion said the actual GPU kernels -- to get maximum occupancy which is so important for peak performance -- are heavily dependent on the target hardware. This isn't just across vendors but even going between different architectures like Fermi and Kepler.

  8. #8
    Join Date
    Jan 2013
    Posts
    232

    Default

    After installing our GPLv3 benchmarking software, simply run phoronix-test-suite benchmark 1405219-KH-OPENCLHIG66. It's that easy!
    Really? I'm getting :

    Code:
    [kaprikawn@arch-desktop ~]$ phoronix-test-suite benchmark 1405219-KH-OPENCLHIG66
    
    NOTICE: The following PHP extensions are OPTIONAL but recommended:
    
    OpenSSL  PHP OpenSSL support is recommended to support HTTPS traffic.
    GD       The PHP GD library is recommended for improved graph rendering.
    POSIX    PHP POSIX support is highly recommended.
    PHP FPDF PHP FPDF is recommended if wishing to generate PDF reports.
    
    Distribution install script not found!
    There are dependencies still missing from the system:
    - OpenCL
    - OpenGL Utility Kit / GLUT
    
    1: Ignore missing dependencies and proceed with installation.
    2: Skip installing the tests with missing dependencies.
    3: Re-attempt to install the missing dependencies.
    4: Quit the current Phoronix Test Suite process.
    Missing dependencies action: 4
    Does it matter that I'm running it through Putty? I can't be bothered to properly log into my Linux machine. But if I did, would it work?

  9. #9
    Join Date
    Jul 2009
    Location
    Germany
    Posts
    513

    Default

    Quote Originally Posted by kaprikawn View Post
    Really? [...]
    Does it matter that I'm running it through Putty? I can't be bothered to properly log into my Linux machine. But if I did, would it work?
    Did you read the message?
    Code:
    There are dependencies still missing from the system:
    - OpenCL
    - OpenGL Utility Kit / GLUT

  10. #10

    Default

    Quote Originally Posted by kaprikawn View Post
    Really? I'm getting :

    Code:
    [kaprikawn@arch-desktop ~]$ phoronix-test-suite benchmark 1405219-KH-OPENCLHIG66
    
    NOTICE: The following PHP extensions are OPTIONAL but recommended:
    
    OpenSSL  PHP OpenSSL support is recommended to support HTTPS traffic.
    GD       The PHP GD library is recommended for improved graph rendering.
    POSIX    PHP POSIX support is highly recommended.
    PHP FPDF PHP FPDF is recommended if wishing to generate PDF reports.
    
    Distribution install script not found!
    There are dependencies still missing from the system:
    - OpenCL
    - OpenGL Utility Kit / GLUT
    
    1: Ignore missing dependencies and proceed with installation.
    2: Skip installing the tests with missing dependencies.
    3: Re-attempt to install the missing dependencies.
    4: Quit the current Phoronix Test Suite process.
    Missing dependencies action: 4
    Does it matter that I'm running it through Putty? I can't be bothered to properly log into my Linux machine. But if I did, would it work?
    What distribution are you using? Generally, PTS will auto-install the necessary dependencies. In this case it isn't able to install OpenCL/GLUT development packages... Likely due to either being some obscure distribution (if so, please provide the necessary information and can add support) or running an older Linux distribution that doesn't have these packages.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •