Announcement

Collapse
No announcement yet.

OpenCL Linux Benchmarks With The Latest Linux GPU Drivers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    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.

    Comment


    • #3
      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.

      Comment


      • #4
        Originally posted by siavashserver
        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.

        Comment


        • #5


          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.


          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.

          Comment


          • #6
            Originally posted by siavashserver
            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.

            Comment


            • #7
              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?

              Comment


              • #8
                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

                Comment


                • #9
                  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.
                  Michael Larabel
                  https://www.michaellarabel.com/

                  Comment


                  • #10
                    You should talk to the guys at http://www.anandtech.com/ about AMD. They have good relations with the people who work there. And they test opencl in their reviews.

                    Comment

                    Working...
                    X