First Apple TV prototypes "in the works" as Apple reportedly shopping part suppliers

  • Halliburton to ditch BlackBerrys in corporate transition to Apple's iOS platform

  • Apple's iPhone takes 75% mobile phone profits with just 9% of units sold

  • Apple CEO hints at no ARM-based MacBook Air as iPad to "soon satisfy" that niche

  • Lowest Prices ANYWHERE on MacBooks with exclusive AI coupons: Mac Price Guide updated Feb. 8th. (Find the best prices on Macs)
    Wednesday, December 10, 2008

    NVIDIA pioneering OpenCL support on top of CUDA

    By Prince McLean

    Published: 08:00 AM EST (05:00 AM PST)


    NVIDIA, Apple's new MacBook chipset partner, is working hard to provide seamless support for OpenCL, the cross platform API Apple developed for Snow Leopard to create a vendor neutral, open specification for parallel programming across any compliant GPU.

    Apple has spun its OpenCL API off to the Khronos Group, which maintains it as an open, royalty free standard that any GPU maker can implement. The first operating system to support OpenCL will be MacOS X 10.6 Snow Leopard, which debuts next year. Khronos also maintains the OpenGL graphics programing API, and the OpenAL API for audio. OpenCL was given a similar name to associate the technologies together.

    Why OpenCL?

    Clock rates of general purpose CPUs are no longer rapidly increasing; Intel and other CPU makers are now using multiple cores to speed up their processors. In contrast, video card GPUs are gaining tremendous new processing power in addition to gaining multiple core support.

    OpenCL is designed to allow developers to spin processor intensive tasks to the often idle GPU to take advantage of all that latent processing power. Additionally, OpenCL works with Snow Leopard's Grand Central scheduling technology to support multiple core architectures to do as much as possible in parallel across both the CPU and any available GPUs.

    An OpenCL head start for NVIDIA, via CUDA

    NVIDIA has a leading advantage in supporting OpenCL because of the work the company has already completed with its CUDA driver interface, to implement parallel programing and "GPGPU," or general purpose computing performed on graphics processing units.

    Manju Hegde, the General Manager of CUDA at NVIDIA, explained to AppleInsider that supporting OpenCL on a GPU requires certain hardware capabilities such as scatter write, as well as certain generality of control flow. Both have already been implemented in NVIDIA's CUDA architecture.

    NVIDIA's CUDA ISA and hardware compute engine "were designed to support multiple entry points into the compute power of the GPU including standard computing languages (such as C, Fortran, etc) as well as API style interfaces like OpenCL," Hegde wrote in an email interview.

    Rather than being competing technologies, Hegde noted that "OpenCL is a layer on top of the CUDA driver interface. As such, OpenCL is one avenue to GPU computing through CUDA, C for CUDA is another."

    OpenCL vs CUDA?

    When asked how NVIDIA's CUDA compares with OpenCL, and if NVIDIA is planning to support both in its future products, Hegde explained, "This is probably better put by saying how does C for CUDA compare with OpenCL – this is a language to language comparison."

    Hegde added, "The answer is that the two share very similar constructs for defining data parallelism, which is generally the major task, so the code will be very similar and the porting efforts will be minor.

    "As OpenCL is another method of accessing the GPU, we wholeheartedly support it. Its sits seamlessly on top of our CUDA architecture and as such, developers using NVIDA hardware have a choice of language and programming environment.

    "With regards to product support, we plan to have OpenCL supported on the CUDA architecture which means that any NVIDIA GPU built upon the CUDA architecture will support OpenCL. This means every GPU (including GeForce, Tesla and Quadro lines) from the GeForce 8 series onwards will support OpenCL. This gives OpenCL developers an installed base of more than 100 million GPUs."

    Will OpenCL be Compatible?

    We asked NVIDIA if it thinks OpenCL (which has also been adopted as the latest GPGPU strategy by AMD) is complete enough to give users a seamless experience when running OpenCL software across different GPU architectures (in the manner of PostScript across various vendors' laser printers), or if it anticipates problems and incompatibilities between vendors' implementations (in the manner of Java across various devices' implementations).

    Hegde answered, "OpenCL is a multi-vendor standard and so the expectation is that if a vendor has an OpenCL compliant implementation, code written in OpenCL should run seamlessly across their architectures.

    "NVIDIA has followed a very consistent and unfaltering strategy with CUDA. The C for CUDA programming model is being taught in more than 50 schools around the world. We have in excess of 25,000 developers actively working on CUDA today. If you look at www.nvidia.com/cuda, you’ll see hundreds of codes and applications that are using our CUDA architecture today. Moreover, CUDA was designed to natively support all parallel computing interfaces and will seamlessly run OpenCL and future standards as they arise."

    The future of OpenCL

    We also asked NVIDIA for some immediate examples of applications that can take advantage of OpenCL now, and what future potential it sees in the specification.

    Hegde answered, "While the OpenCL spec is announced today, there are conformance tests that need to be developed and then final implementations will be released around Q2 next year. So we are a little way away from having apps that can take advantage of OpenCL today. Of course C for CUDA is available today on the Mac OS, so developers wanting to start developing for the GPU can get started now and as we said before, both C for CUDA and OpenCL share very similar constructs for defining data parallelism, so if they wish, porting that code to OpenCL after its full release, will be easy.

    "In terms of potential, it’s huge! The enormous parallel processing power of the GPU has been delivering speed up for 20-200X in many codes, from oil and gas exploration and medical imaging to video transcoding. As more and more developers begin to port their apps to the GPU, you will see a new wave of applications hit the market."

    OpenCL cross platform and other GPGPU standards

    When asked if any direct OS support is required to implement OpenCL support on other platforms, and if NVIDIA sees momentum clearly building behind OpenCL as the standard for GPGPU computing, Hegde noted that, "yes, the first OS to support OpenCL will be Snow Leopard."

    Hegde also said, "In the world of parallel computing, there are a range of standards emerging, C for CUDA from NVIDIA, OpenCL from Khronos, DX11 Compute from Microsoft, and so on. Developers like to have choice, they pick whatever different programming style suits their needs/deployment. And developers will use the interface most comfortable to them, ie: one that supports libraries and OS that they are accustomed to.

    "NVIDIA will continue to invest in both its CUDA architecture and its C for CUDA programming environment, while also offering robust support for new standards as they emerge.

    "To summarize, we think OpenCL is great and we support any initiative that unleashes the massive power of the GPU. We have worked extremely closely with Apple on the OpenCL spec, OpenCL was developed on NVIDIA GPUs and we were the first to show working OpenCL code so we are confident that our implementation of OpenCL will be second to none. The addition of OpenCL to our industry leading toolkit for GPU Computing means a fantastic array of choices for developers."

    Filed under : Mac OS X 8 Comments ] 
    Story topics: Mac OS X 10.6, OpenCL   Print ] [ Story Link ] 


    RSS
    Mac Connection End of Summer Sale
    MacBook Pro Model
    Apple
    Price
    Discount
    2.4GHz dual 13" MacBook Pro $1,199.00 $1,096.05* $102.95
    2.8GHz dual 13" MacBook Pro $1,499.00 $1,382.19* $116.81
    2.2GHz quad 15" MacBook Pro $1,799.00 $1,647.06* $151.94
    2.4GHz quad 15" MacBook Pro $2,199.00 $1,983.65* $215.35
    2.4GHz quad 17" MacBook Pro $2,499.00 $2,288.23* $210.77
    Early 2011 MacBook Pro Model
    Apple
    Price
    Discount
    2.7GHz dual 13" MacBook Pro $1,499.00 $1,258.53* $240.47
    2.0GHz quad 15" MacBook Pro $1,799.00 $1,503.49* $295.51
    2.2GHz quad 15" MacBook Pro $2,199.00 $1,695.99* $503.01
    2.2GHz quad 17" MacBook Pro $2,499.00 $2,035.49* $463.51
    *Instant 3% AppleInsider Reader Discount Applied When Adding Items To Your Cart

    AppleInsider Features
    Hot Forum Topics

    Recent Articles
    Leaked photo allegedly shows outside back cover of Apple's next iPad
    Alleged Foxconn hack allowed bogus orders to be placed for vendors
    White MacBook sales come to close as Apple ceases sales to education institutions
    Google says it won't support fair licensing in open standards as Apple, Microsoft, Cisco have
    Cisco backs Apple's ETSI request for fair and open licensing of standards patents
    Doubts cast on likelihood of quad-core A6 CPU in third-gen iPad
    Path apologizes, offers opt-out for address book uploading
    iTunes Match generates 'magic money' for music copyright holders
    Siri rumored to gain support for Mandarin, Japanese and Russian in March
    US Air Force may buy 18,000 Apple iPads for cargo aircraft
    Purported 'iPad 3' back panel shows space for larger battery, new LCD
    Worker abuse petitions to be delivered Thursday at Apple's Grand Central store
    Microsoft joins Apple in pledging support for injunction free, FRAND patent licensing
    iPhone best at retaining resale value and offers lowest total cost of ownership
    iTunes-sponsored live Paul McCartney concert to stream for free on Apple TV
    Mobile carriers hate not having iPhone, pay premiums to get it
    Viacom deal brings MTV, Comedy Central, Nickelodeon shows to Amazon Prime
    European Apple resellers say lack of inventory is putting them out of business
    Sprint sold 1.8M iPhones in holiday quarter, 40% to new subscribers
    Apple continues adding Lion Internet Recovery support to 2010 Macs
    Amazon nears deal with Viacom as it readies standalone video subscriptions
    Apple asks ETSI standards body to set rules for standards essential patents
    Path app under fire for unauthorized address book upload
    Google to continue Motorola's FRAND licensing that seeks to monopolize H.264, UMTS
    App developers forced to submit Retina Display screenshots
    Final Cut Pro X named PCMag's Editors Choice for high-end video editing
    Apple-sparked 'App Economy' created 466K U.S. jobs in 4 years
    Buffalo Wild Wings testing Apple's iPad for quicker customer ordering
    Mac sales surge as PC sales drop 20% in UK, 12% in France
    Apple seen taking 5% of HDTV market, earning $17B in revenue
    Siri accounts for 1/4 of Wolfram Alpha queries as search engine goes 'Pro'
    RIM says BlackBerry App World has 60K apps, 13% of publishers earn more than $100K
    Apple retakes crown as world's top smartphone maker
    Chinese lawsuit seeks $38M, apology from Apple for use of iPad name
    Apple intern's thesis leaks secret project to port Mac OS X to ARM processors
    Rogers, BCE rumored to already have Apple 'iTV' prototype in their labs
    Updated UI resources in OS X 10.7.3 may hint at preparations for Mac Retina Displays
    Apple warns it will crack down on App Store rank fraud services
    Briefly: First Enyo-based iOS app, New Zealand trademark dispute
    Apple trademarks its patented "macroscalar" code optimization technology








    AppleInsider RSS Feed
    AppleInsider © 1997-2011
    Please review our Privacy Policy.
    Written/Edited/Compiled by the AppleInsider Staff.