OpenCL, Nvidia and Apple

Posted:
in Future Apple Hardware edited January 2014
I believe this year is a testing year for OpenCL and future hardware.



This section from Nvidia pretty much verified my recent week's comments on the matter:



http://www.nvidia.com/object/cuda_opencl.html



Quote:

NVIDIA will be Beta testing OpenCL with strategic developers this year. Please check back here for updates



As a processor company, NVIDIA enthusiastically supports all languages and API?s that enable developers to access the parallel processing power of the GPU. In addition to OpenCL and NVIDIA?s CUDA C extensions, there are other programming models available: Last fall Microsoft provided a compute shader model in their latest DirectX Software Development Kit. Besides these GPU computing offerings there is also a Fortran language solution recently available in early access from The Portland Group.



NVIDIA has a long history of embracing and supporting standards since a wider choice of languages improve the number and scope of applications that can exploit parallel computing on the GPU. With C and Fortran language support here today and OpenCL and DirectX Compute availability this year, GPU computing is now mainstream. NVIDIA is the only processor company to offer this breadth of open languages for the GPU.



Beyond the basic improvements of OS X with OpenCL in 10.6 I don't think we'll see the roadmap of improvements for software development until they have moved to Release stage for Nividia and ATi, thus allowing Engineering Sciences, CGI, Film and more to really take full advantage of it.



Here's to hoping Beta testing is done by mid-year [June].

Comments

  • Reply 1 of 12
    nvidia2008nvidia2008 Posts: 9,262member
    OpenCL is a good idea, however let's bear in mind it will take about 6 to 18 months to really mature and bear fruit. In the meantime, ATI and Nvidia need to really get down to 40nm by middle of this year and have good results on power/performance/price for *laptop* and desktop GPUs in 2009/2010.



    I for one would love to see the "killer apps" of Snow Leopard, OpenCL, Grand Central.



    I guess I can wait another year until a quad-core MacBook Pro with double the Radeon4870 GPU power. For a not-insane price!
  • Reply 2 of 12
    wizard69wizard69 Posts: 13,377member
    Quote:
    Originally Posted by mdriftmeyer View Post


    I believe this year is a testing year for OpenCL and future hardware.



    I think when it arrives in Snow Leopard, OpenCL will be past the beta or testing stage as far as Apple is concerned.



    AS far as developers and user software it could be a very long time before many apps have any sort of OpenCL acceleration in them. This is very important for people to understand, getting tested well debugged apps otu there with OpenCL acceleration will take some time.

    Quote:



    This section from Nvidia pretty much verified my recent week's comments on the matter:







    Beyond the basic improvements of OS X with OpenCL in 10.6 I don't think we'll see the roadmap of improvements for software development until they have moved to Release stage for Nividia and ATi, thus allowing Engineering Sciences, CGI, Film and more to really take full advantage of it.



    Well Apple is in this loop too, so expect Snow Leopard to come with it working. Apps are another thing though.

    Quote:

    Here's to hoping Beta testing is done by mid-year [June].



    It could take until next year for stable apps to come out leveraging OpenCL, maybe late into next year. What bothers me about this thread is the expectation that because OpenCL is in Snow Leopard all of a sudden we will have a flood of super fast applications. It isn't going to work like that folks, apps will need rewrites or might not accellerate at all with the new OS. Plus who knows what a developer will focus on.
  • Reply 3 of 12
    nvidia2008nvidia2008 Posts: 9,262member
    Quote:
    Originally Posted by wizard69 View Post


    ... What bothers me about this thread is the expectation that because OpenCL is in Snow Leopard all of a sudden we will have a flood of super fast applications. It isn't going to work like that folks, apps will need rewrites or might not accellerate at all with the new OS. Plus who knows what a developer will focus on.



    Thank you for balancing out the hype spreading wildly on these forums.
  • Reply 4 of 12
    hmurchisonhmurchison Posts: 12,423member
    Quote:
    Originally Posted by wizard69 View Post


    What bothers me about this thread is the expectation that because OpenCL is in Snow Leopard all of a sudden we will have a flood of super fast applications. It isn't going to work like that folks, apps will need rewrites or might not accellerate at all with the new OS. Plus who knows what a developer will focus on.



    Yup I guess it's much easier for market tomorrow features today without actually telling people of the wait it'll take before develpers jump onboard.



    I routinely see comments to the effect of.



    "Apple's going to wait until Snow Leopard to ship the next Final Cut Studio" and I just shake my head. I too thought taking advantage of new features was as simple as turning on a light switch but in fact it's not.



    Apple's just now popping core animation in apps like iWork and Safari 4 and Leopards been out over a year.
  • Reply 5 of 12
    I'll believe OpenCL when I see it. The (very few) applications for Nvidia's CUDA are not impressive at all.
  • Reply 6 of 12
    nvidia2008nvidia2008 Posts: 9,262member
    Quote:
    Originally Posted by FuturePastNow View Post


    I'll believe OpenCL when I see it. The (very few) applications for Nvidia's CUDA are not impressive at all.



    Badaboom is very, very impressive.
  • Reply 7 of 12
    wizard69wizard69 Posts: 13,377member
    Quote:
    Originally Posted by FuturePastNow View Post


    I'll believe OpenCL when I see it. The (very few) applications for Nvidia's CUDA are not impressive at all.



    CUDA can be very impressive when the right App is involved. It is all about how the app or specific sections of code mate up with the GPU processor. The actual GPU can have a big impact too. For example only ATI has a 64 bit capable processor. In general the newer the GPU the better something like OpenCL can leverage it.





    In any event there are all sorts of factors that come into play when it comes to the quality of acceleration if any. One thing to consider is the clock rate of the GPU which is often much slower than the main GPU. Now a GPU may be able to process FP math faster on a per clock basis but that might not make up for the main CPU running four times faster. This can be an issue if the code can't or isn't broken up into a number of threads.



    One has to remember that a GPUs biggest advantage isn't speed but parallism. If the task at hand can't be broken into a bunch of parallel parts the GPU may be at a disadvantage. I say may because even a single thread has the potential to run faster on a GPU.



    A GPU can be a busy place! Thus the number of threads actually available, when you need them, can be extremely limited. Just like the main CPU the GPU can end up loaded down due to user demands.



    Hopefully you get the idea, GPU acceleration is the nuts for certain apps and techniques. It just isn't a universal solution.





    Dave
  • Reply 8 of 12
    backtomacbacktomac Posts: 4,579member
    There is a similar thread at Ars on this topic.



    Most of the programmers there don't think GC or Open Cl will be *all* that. Most are pretty meh over them.



    From what I'm reading I expect SL will make an incredible difference in a small number of apps/instances and will otherwise have little benefit. Apple will naturally harp on the occasions where GC and Open Cl make a difference. What'll be interesting is to what extent Apple leverages GC and Open Cl in their apps. How much of their own cooking are they willing to eat?
  • Reply 9 of 12
    Quote:
    Originally Posted by nvidia2008 View Post


    Badaboom is very, very impressive.



    If by impressive, you mean featureless and unstable, sure. And on a weak GPU like the 8600 or 9400, it's not going to be any faster than a fast CPU.
  • Reply 10 of 12
    hmurchisonhmurchison Posts: 12,423member
    Quote:
    Originally Posted by backtomac View Post


    There is a similar thread at Ars on this topic.



    Most of the programmers there don't think GC or Open Cl will be *all* that. Most are pretty meh over them.



    From what I'm reading I expect SL will make an incredible difference in a small number of apps/instances and will otherwise have little benefit. Apple will naturally harp on the occasions where GC and Open Cl make a difference. What'll be interesting is to what extent Apple leverages GC and Open Cl in their apps. How much of their own cooking are they willing to eat?



    I know..it was distressing. One I got my azz handed to me for not understanding threading history and CPU scheduling and two it becomes hard to separate the truly revolutionary stuff from the "we just got caught up to modern times" because Jobs tends to go into marketing mode and proclaim everything a "Breakthrough" or "Revolutionary"



    To be fair I think OpenCL and Grand Central and Blocks are certainly powerful tools but they are so technical it's hard to sell the OS based on their merit.



    This summer should be quite interesting.



    Something like Badaboom interests me because I like video and I'll have a HD camera pretty soon which likely shoots AVCHD yet I'm thinking that I want to use ProRes once I move up to Final Cut Pro so the faster the transcoding can be done the better. I doubt that will have much appeal to the rank and file consumer that doesn't care that much about video other than good playback.
  • Reply 11 of 12
    kickahakickaha Posts: 8,760member
    Quote:
    Originally Posted by hmurchison View Post


    I know..it was distressing. One I got my azz handed to me for not understanding threading history and CPU scheduling and two it becomes hard to separate the truly revolutionary stuff from the "we just got caught up to modern times" because Jobs tends to go into marketing mode and proclaim everything a "Breakthrough" or "Revolutionary"



    To be fair I think OpenCL and Grand Central and Blocks are certainly powerful tools but they are so technical it's hard to sell the OS based on their merit.



    These aren't features you sell an OS on. These are the building blocks for features you sell *apps* on... but having those apps be 10.6 only generates OS sales.



    Unless, of course, QuickTime X has as a big ol' feature item "Insanely fast transcoding".



    "New in Snow Leopard - convert your media from iTunes to your iPod while it's syncing!" <- Mythical marketing message, not to be confused with reality, void where prohibited by law, past performance is no indicator of future performance, yadda yadda yadda



    Quote:

    This summer should be quite interesting.



    Yes.
  • Reply 12 of 12
    wizard69wizard69 Posts: 13,377member
    Quote:
    Originally Posted by backtomac View Post


    There is a similar thread at Ars on this topic.



    Most of the programmers there don't think GC or Open Cl will be *all* that. Most are pretty meh over them.



    Don't let a bunch of programmers spoil you lunch!



    Their are things to consider here with respect to programmers. One; is that they know their apps, how they are threaded and what the potential for going faster is. So they may have already discounted the idea of a rewrite for SL. Second; they may be lazy and have no desire to rewrite slow rutines. Third; the may not be smart enough with respect to the problem domain to morph the software into something that is highly parallel.



    I don't want to discount what the programmers are saying just that they may not have the motivation to look at Snow Leopards technology with an unbiased eye. There will be a group of programmers suffering from inertia. This actually can be good because you end up with fresh minds and ideas being thrown at problems. That doesn't mean these minds will suddenly find highly parallel ways to solve old problems either but it does stir up the DNA a bit.



    Quote:

    From what I'm reading I expect SL will make an incredible difference in a small number of apps/instances and will otherwise have little benefit.



    Apps that have a lot of highly parallel code that is heavy in math will see a huge benefit.



    As to others seeing little benefit that is still debateable. There certainly will be a huge number of apps never rewriten to directly take advantage of OpenCL. The key qualifier there is the word "directly" as Apple does have the opportunity to accelerate more of it's system code. Thus if the libraries end up faster or parallel in execution the lightly threaded non OpenCL app might benefit. It all depends upon what Apple can speed up or parallelize with these new tools.



    So we need to ask will or can Apple move more of the core OS to the GPU. That would mean can more of Quartz ending up there, Audio processing, video processing and a host of other things. We have already seen on the new Laptops that simply moving video decide there can have a very positive impact on a Mac. Of course the GPU is tailored for that sort of work but the idea remains that if you take away CPU heavy tasks a lot of CPU power gets freed up for Apps. The question of course is just how much can Apple move to the GPU that isn't already there and how soon will it be implemented in the OS. Don't expect Snow Leopard to be the final answer to an accelerated OS.



    Quote:

    Apple will naturally harp on the occasions where GC and Open Cl make a difference. What'll be interesting is to what extent Apple leverages GC and Open Cl in their apps. How much of their own cooking are they willing to eat?



    It isn't the apps that I find interesting with respect to Apple but rather what they can do to the libraries and core OS that I find interesting. I fully expect them to use these facilities in the appropriate apps.



    While I don't get to excited about general user apps and OpenCL one place I think we might see huge wins is in audio processing apps. I'm expecting Garage Band to be rewriten as a demo app as it ought to be able to leverage OpenCL well. Imagine if the GPU cores could be set up to process 2 to 4 tracks at a time ( very conservative) while the main line code handles user display and data flow. Now drop out of garage band and think about low cost, or semi pro audio mixing and processing. I think the potential is there for some interesting and ground breaking audio apps that work well on modest hardware.



    So yeah some things will simply see very little direct benefit from OpenCL. That however doesn't mean that some common user apps won't. There likely won't be a lot of general user apps benefitting but the ones that will could be ground breaking.



    At least we can hope so. Everyone knows that OpenCL type acceleration can have a profond impact on some very math intensivev specialist apps, to which one can say so what. The trick for Apple will be to make that GPU pay off for the average Joe. Let's hope they can do it.





    Dave
Sign In or Register to comment.