Announcement

Collapse
No announcement yet.

OpenCL On Linux Is Still Not Too Easy, Widespread

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

  • OpenCL On Linux Is Still Not Too Easy, Widespread

    Phoronix: OpenCL On Linux Is Still Not Too Easy, Widespread

    While there's OpenCL drivers available for Linux, on Ubuntu there is no OpenCL driver shipped by default and the proprietary driver implementations aren't always great...

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

  • #2
    AMD has their OpenCL support in the Catalyst driver
    Yea, that does sound "not too easy".

    When I tried it last time with fglrx it was not in the driver (at least not the opencl libraries) but I had to install the amd stream sdk (now app sdk?). And that was literally the only thing I had to do, opencl programs would just work after that.

    Intel has the Beignet project for open-source OpenCL but that's even worse off than the Gallium3D OpenCL support.
    Didn't you want to write something additionally to that... I mean, why it's worse off?

    I wanted to try beignet so I fixed some includes that got moved from llvm/* to llvm/IR/*, but then...
    Code:
     #error "Only LLVM 3.0 / 3.1 is supported"
    What a letdown.

    Comment


    • #3
      Work together

      Vendors needs to work together on OpenCL to make it really cross-platform and open source and ship a common library that they work together on.

      Comment


      • #4
        Originally posted by ChrisXY View Post
        When I tried it last time with fglrx it was not in the driver (at least not the opencl libraries) but I had to install the amd stream sdk (now app sdk?). And that was literally the only thing I had to do, opencl programs would just work after that.
        They integrated OpenCL runtime directly into catalyst driver. So now you need install AMD APP SDK only when you want develop for OpenCL or run CPU device OpenCL without catalyst.

        Comment


        • #5
          The easiest path to OpenCL for open source seems to be start with x86-64 CPU's.
          This allows for ease of development (less change in CPU instruction sets than GPU's) and
          ease of testing (most developer machines have a x86-64 CPU).

          The easiest goal for Open Source would be to develop the open source CPU OpenCL projects further.

          Comment


          • #6
            Originally posted by uid313 View Post
            Vendors needs to work together on OpenCL to make it really cross-platform and open source and ship a common library that they work together on.
            Anti competitive bullshit prevents that. Intel doesn't have a GPU good enough to make running OpenCL on it worth your time, likewise they don't want to do anything that might possibly maybe, somehow help out AMD and Nvidia even if not doing it hurts them long term.

            Nvidia is trying to keep CUDA relevant at all costs as it's the only thing keeping them in the compute market since they managed to get a bunch of software written in CUDA for the scientific and enterprise data community very quickly when they launched CUDA. They want nothing more then to see OpenCL die so they can have this market for themselves since they don't have many other options since they don't have an x86 CPU or a chipset business anymore and the ARM market is allot more competitive then they where anticipating.

            AMD's problems of late have been a lack of cash on hand to hire more people and dump into research and development. However since they are in the WiiU, XboxOne and PS4 they are set to have a pretty good stable income outside of what they are doing with their CPUs and GPUs as well as not having to pay game devs to optimize for their hardware like Nvidia does with their TWIMTBP logo.

            Expect AMD to start putting out more love in few months when the console checks start showing up.
            Last edited by Kivada; 06-04-2013, 07:49 AM.

            Comment


            • #7
              @Kivada
              It's competitive bullshit that prevents that.
              (proofread!)


              @uid313
              These are companies in competition, the cut-throat world of business.
              The best thing you can ask for is some configuration possibilities for saying which program should run on which GPU,
              since this makes them all look better.

              Comment


              • #8
                Originally posted by Kivada View Post
                Nvidia is trying to keep CUDA relevant at all costs as it's the only thing keeping them in the compute market since they managed to get a bunch of software written in CUDA for the scientific and enterprise data community very quickly when they launched CUDA. They want nothing more then to see OpenCL die so they can have this market for themselves since they don't have many other options since they don't have an x86 CPU or a chipset business anymore and the ARM market is allot more competitive then they where anticipating.
                Last I checked, their website said something along the lines of "we support both, and we don't care whether you use CUDA or OpenCL".

                Comment


                • #9
                  Originally posted by Kivada View Post
                  Anti competitive bullshit prevents that. Intel doesn't have a GPU good enough to make running OpenCL on it worth your time, likewise they don't want to do anything that might possibly maybe, somehow help out AMD and Nvidia even if not doing it hurts them long term.(...)
                  Sorry for my ignorance, and I'm not an Intel fanboy, but I think that OpenCL is fairly good in Intel Ivy Bridge or Haswell. Not extraordinary, but worthwhile. If you take Intel's Phi as an OpenCL implementator, then Intel is again decent.

                  At last, I hope that the Linux implementations get more unified, maybe part of Gallium, so people don't have to use 3 SDKs to make it work, but to get by default a form of OpenCL like you would get an OpenGL implementation (that is backed in software)

                  Comment


                  • #10
                    Originally posted by GreatEmerald View Post
                    Last I checked, their website said something along the lines of "we support both, and we don't care whether you use CUDA or OpenCL".
                    Then why keep pushing CUDA so hard? Why not source it and allow other companies make use of it? Why not license it to Intel, AMD, PowerVR and every other GPU manufacturer?

                    Nvidia only supports OpenCL because they have to and because any shader based GPU can make use of it. Hell last I heard any DSP on a cellphone can make use of OpenCL, it may not be particularly fast but it can do it.

                    If Nvidia had their way OpenCL would have died off and they'd have no competition in the GPGPU market.

                    Remember Nvidia was forced out of their mobo chipset market by both AMD and Intel, that a huge cash cow that no longer have. Nvidia did for a while demo some chipsets with the 9400 iGPU for the VIA Nano, but nothing ever came to market for it.

                    They went to ARM hoping their GPU expertise would give them a market dominating advantage, it didn't and they are just another player in a very competitive market.

                    If the rumors are true and the top end AMD Kaveri APUs will have the equivalent of the HD7750 and GDDR5 on the mobo then there goes Nvidia's midrange market, since the low end is already beaten by the APUs.

                    I expect Intel to be looking at buying Nvidia in 5 years for a song just to keep pace with AMD's GPU tech.

                    Comment


                    • #11
                      Originally posted by GreatEmerald View Post
                      Last I checked, their website said something along the lines of "we support both, and we don't care whether you use CUDA or OpenCL".
                      Yeah, that's what it says.

                      In reality, their CUDA performance is very good, while their OpenCL performance sucks, and they don't even support the most recent version. Compare that to how quickly they always roll out new versions of OpenGL.

                      It's pretty obvious which API NVidia really wants to succeed, and which one they are implementing because they think they need to.

                      Comment

                      Working...
                      X