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.

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

  • #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
        Wasn't OpenCL supposed to overcome these platform specific stuff in first place?

        Comment


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

          Comment


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

            Comment


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

              Comment


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


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


                  • #10
                    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
                    http://www.michaellarabel.com/

                    Comment


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


                      • #12
                        amd

                        lol amd can't do something right

                        Comment


                        • #13
                          Originally posted by rikkinho View Post
                          lol amd can't do something right
                          I think it comes down to poor documentation. As was said previously in the thread, one team of devs writes the drivers and then leaves the company and another team of devs is left with trying to understand how the code was written. It's like the broken telephone! Could someone that had an experience with ATI years past comment how similar was that with AMD nowadays?!

                          Comment


                          • #14
                            Added two low-ends (HD 6450 and FX 580) plus a laptop (GT740M) - http://openbenchmarking.org/result/1...PL-1405314PL18 - ain't much of OpenCL computing.

                            Comment


                            • #15
                              Originally posted by Michael View Post
                              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.
                              I'm using Arch (64-bit with multilib), bang up-to-date. I'm not sure it's a problem with PTS though as I'm getting others too related to graphics in general.

                              The missing glut dependency issue disappeared when I installed freeglut. But the missing dependency for OpenCL is still there, even though I have libcl installed.

                              FYI I have this bug:

                              https://bugs.freedesktop.org/show_bug.cgi?id=78242

                              Could an issue with Mesa/r600 cause an OpenCL problem? I'm guessing this is where the issue lies, or thereabouts. Going to do some further reading now...

                              Comment

                              Working...
                              X