"CUDA is on its way out"

Article: AMD's Analyst Update
By: Anon (no.delete@this.email.com), February 11, 2012 4:33 am
Room: Moderated Discussions
David Kanter (dkanter@realworldtech.com) on 2/10/12 wrote:
>Anon (no@email.com) on 2/10/12 wrote:
>>David Kanter (dkanter@realworldtech.com) on 2/9/12 wrote:
>>>pk (pk@notmyrealaddress.com) on 2/9/12 wrote:
>>>>David, the quote above is quite a heavy statement. Could you elaborate?
>>>>Nvidia would certainly argue that CUDA gives you the absolute best performance
>>>>for the highly parallel applications often run in HPC environments, and those people
>>>>benefit greatly from it. Are you arguing that CUDA will just >stay confined to the HPC space?
>>>What is the performance of CUDA code on an AMD GPU? Or Knight's Corner? I'm pretty
>>>sure the performance is very bad compared to the alternatives : )
>>>I agree that CUDA is acceptable where you want to be tied to NV's hardware. For HPC, that might be fine.
>>>But for consumer applications, you need GPU acceleration on ALL hardware platforms.
>>>So if you want CUDA, you probably also need OpenCL, etc.
>>>At that point, why would you ever bother with CUDA in the first place?
>>>My point is that proprietary programming models that are tied to hardware with
>>>small marketshare are stupid where alternatives exist. Initially there was no alternative to CUDA. Now there is.
>>Yawn. It will not happen that way.
>>As long as their is any significant advantage to CUDA over OpenCL (and at present
>>there are MANY) there will be dual codepaths for anything big enough to warrant
>>it, and more limited apps will choose the direction that >suits them best.
>Why would you want two codepaths (or three!) when you could have fewer?

Because you want good performance and the high performance path only works on 1/3 of the targets?
I mean really, we already have this very commonly, to support differing features of Intel/AMD generations as they progress...

>>If performance is not a prime factor, then neither will be used - many apps will
>>keep dual paths (and in fact that is really quite simple as they are very similar,
>>porting between is much less work than the base >implementation requirements).
>How much cost is the performance worth? There's a spectrum there. If it's a 2X
>difference, it might be worth it. OTOH, if it's 20%, that's hard to justify.

That all depends on the application, doesnt it.
20% faster framerate in a video codec can make or break it, 20% on the screen update of a web browser is of little concern.
Of course these systems tend to target the former much more than the later..

>>In OpenCL starts performing as well as CUDA on NVidia then >its a different story,
>>but dont hold your breath, OpenCL does have some issues >from trying to be too generic.
>I can agree with that to a certain extent. I'm sure there is sensitivity to performance
>and a significant advantage for CUDA means you might continue with a separate code
>path. But how much performance is needed to justify that extra effort? That depends
>on the application, but I'm not sure.

Exactly, but also remember that these paths only MATTER for performance sensitive applications. have a look how much premium consumers pay for an extra 20% additional performance in their base cpu...

>>For example, we commonly see 50-100% performance >differences between CUDA and OpenCL
>>- not always, but it is also not uncommon at all, as yet.
>For the same code? I'd be curious where the performance delta is coming from...and
>the extent to which that is really a fundamental OpenCL problem versus implementation.

OpenCL tried to be VERY generic, CUDA lets you be somewhat more specific in a few areas that matter - and therefore map on to the hardware more accurately - no surprise considering the sources of the two. As has been discussed to death in this forum, the secret sauce of most high performance codes in such systems tends to be in a good mapping to the hardware and good management of data flows, rather than the basic expression of code. CUDA is better at this.

>CUDA is obviously a lot higher level and much simpler to write, but the real problem
>is that once you're committed to doing OpenCL for AMD and Intel, you really need
>good reasons to not move from CUDA to OpenCL. As you mentioned, performance is a
>good reason, and I'd add programmer productivity as another one.

You forget that a lot (if not almost all) efforts start in CUDA. The tools are better, the implementation better, the performance better... that could change, but not as yet.

>But my real point is that the notion of CUDA as an industry standard is utterly
>laughable. It's a proprietary API that is popular, particularly for HPC. It's the
>leader for GPGPU and is likely to continue leading the industry. But it will be
>very interesting to see how things evolve with Knight's Corner (which has strong
>backwards compatibility), and the various open APIs.

I think very very few in these industries are taking Intels offerings with any form of seriousness until they see real woring systems any more, as they say:
fool me once, shame on you
fool me twice, shame on me.
fool me three or four times? must be the intel graphics/parallel divisions ;)

Now, I am sure this all sounds like I am some dyed in the wool NVidia goon, but to be honest I would be much happier if OpenCL was fixed to be equivalent or better. Unfortunately I suspect that it is already trapped in the OpenGL trap of being pulled in too many directions, and will similarly end up being functional but rarely brilliant, and also similarly end up being more of a niche product.

Remember MS also has DirectCompute on the table (well, kind of).
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Fused Multiply-Add and HSARichard H.2012/02/07 07:29 PM
  Fused Multiply-Add and HSADavid Kanter2012/02/07 11:54 PM
    "CUDA is on its way out"pk2012/02/09 05:37 AM
      "CUDA is on its way out"David Kanter2012/02/09 11:49 AM
        "CUDA is on its way out"Bryan Catanzaro2012/02/09 12:44 PM
          "CUDA is on its way out"David Kanter2012/02/09 05:48 PM
            "CUDA is on its way out"Anon2012/02/09 07:11 PM
              "CUDA is on its way out"David Kanter2012/02/10 12:00 AM
                "CUDA is on its way out"Michael S2012/02/10 04:54 AM
                "CUDA is on its way out"Anon2012/02/10 06:42 PM
                  Proprietary SW interfaces and hardware vendorsDavid Kanter2012/02/10 09:07 PM
                    Proprietary SW interfaces and hardware vendorsAnon2012/02/11 04:08 AM
                      Proprietary SW interfaces and hardware vendorsAnon2012/02/11 04:12 AM
                      Proprietary SW interfaces and hardware vendorsDel2012/02/11 08:39 AM
                  "CUDA is on its way out"Del2012/02/11 08:33 AM
                "NVIDIA is on its way out"Brendan2012/02/10 10:42 PM
                  "NVIDIA is on its way out"anonymous2012/02/11 11:37 AM
              "CUDA is on its way out"Del2012/02/11 08:22 AM
                "CUDA is on its way out"Anon2012/02/11 04:11 PM
                  ispc on GPUsMatt Pharr2012/02/12 10:02 AM
                    ispc on GPUsAnon2012/02/13 03:34 PM
          "CUDA is on its way out"Erwin Coumans2012/02/09 09:39 PM
            "CUDA is on its way out"Brett2012/02/10 12:54 PM
              "CUDA is on its way out"David Kanter2012/02/10 04:00 PM
              "CUDA is on its way out"Anon2012/02/10 06:45 PM
                "CUDA is on its way out"Brett2012/02/10 08:20 PM
                  "CUDA is on its way out"David Kanter2012/02/10 08:58 PM
                    "CUDA is on its way out"Brett2012/02/11 07:15 AM
                      Macroscalarnone2012/02/11 08:40 AM
        "CUDA is on its way out"Anon2012/02/10 06:39 PM
          "CUDA is on its way out"David Kanter2012/02/10 09:19 PM
            "CUDA is on its way out"Anon2012/02/11 04:33 AM
          "CUDA is on its way out"NN2012/02/14 04:24 PM
            "CUDA is on its way out"Anon2012/02/15 04:16 PM
        "CUDA is on its way out"bakaneko2012/02/11 05:31 AM
      "CUDA is on its way out"Aaron Spink2012/02/10 12:29 AM
  Fused Multiply-Add and HSAEduardoS2012/02/08 03:11 PM
    Fused Multiply-Add and HSAFoo_2012/02/09 06:24 AM
Reply to this Topic
Body: No Text
How do you spell purple?