Apple proposes OpenCL as high-speed computing standard
Apple has signed on to an industry-wide alliance that will see many companies, including some of the Mac maker's processor and video card suppliers, work together to develop an open format for accelerating specialized computing.
Dubbed the Compute Working Group, the organization managed by Khronos Group has been formed this week and includes Intel as well as AMD and NVIDIA, both of whom compete against each other to supply video hardware for Macs in addition to other PC makers. ARM, Motorola, and Samsung are also among the involved manufacturers.
The group's focus will be to develop widespread standards for calculating "heterogeneous data" regardless of whether it's onboard a conventional central processor or on a new wave of video cards that can handle some specialized calculations in addition to their normal graphics duties. Like the OpenGL standard, any future standard would be publicly documented and royalty-free.
While the new development body has yet to settle on a standard, Apple is the first to propose a complete specification. Khronos highlights the Mac maker's new Open Computing Language (OpenCL) language as a first candidate; in its early form, the specification would "liberate" video chipsets from having to perform only visual tasks and would coordinate both graphics hardware and multi-core CPUs in improving overall system performance in the future.
Apple's format could lead to accelerating physics and image processing chores. However, the broader effort wouldn't be limited to full-size computers and could lead to faster handheld devices as well.
Cupertino, Calif.-based Apple is only just making its first tentative steps into heterogenous processing. The company first announced its intentions to develop OpenCL with the preview of Mac OS X 10.6 at this month's Worldwide Developers Conference but significantly lags efforts by AMD and NVIDIA in promoting standards themselves.
The two semiconductor designers this week unveiled a string of video cards and dedicated processors that all can greatly increase the speed of computing under certain conditions, such as scientific research or physics in games. NVIDIA's GeForce GTX series is the most conventional and processes both graphics and general work, while its Tesla line and AMD's comparable FireStream are meant solely to speed up certain computing jobs in workstations and servers.
To date, none of these devices support Mac OS X, although Apple is confirmed as being aware of NVIDIA's technology.
Dubbed the Compute Working Group, the organization managed by Khronos Group has been formed this week and includes Intel as well as AMD and NVIDIA, both of whom compete against each other to supply video hardware for Macs in addition to other PC makers. ARM, Motorola, and Samsung are also among the involved manufacturers.
The group's focus will be to develop widespread standards for calculating "heterogeneous data" regardless of whether it's onboard a conventional central processor or on a new wave of video cards that can handle some specialized calculations in addition to their normal graphics duties. Like the OpenGL standard, any future standard would be publicly documented and royalty-free.
While the new development body has yet to settle on a standard, Apple is the first to propose a complete specification. Khronos highlights the Mac maker's new Open Computing Language (OpenCL) language as a first candidate; in its early form, the specification would "liberate" video chipsets from having to perform only visual tasks and would coordinate both graphics hardware and multi-core CPUs in improving overall system performance in the future.
Apple's format could lead to accelerating physics and image processing chores. However, the broader effort wouldn't be limited to full-size computers and could lead to faster handheld devices as well.
Cupertino, Calif.-based Apple is only just making its first tentative steps into heterogenous processing. The company first announced its intentions to develop OpenCL with the preview of Mac OS X 10.6 at this month's Worldwide Developers Conference but significantly lags efforts by AMD and NVIDIA in promoting standards themselves.
The two semiconductor designers this week unveiled a string of video cards and dedicated processors that all can greatly increase the speed of computing under certain conditions, such as scientific research or physics in games. NVIDIA's GeForce GTX series is the most conventional and processes both graphics and general work, while its Tesla line and AMD's comparable FireStream are meant solely to speed up certain computing jobs in workstations and servers.
To date, none of these devices support Mac OS X, although Apple is confirmed as being aware of NVIDIA's technology.
Comments
How ironic will it be that Apple helps spread adoption of OpenCL, but Mac users still don't get access to the latest graphics cards?
Yea no kidding! I wish AMD and NVD would be more proactive providing Apple the drivers etc for the latest and greatest cards... why are they so slow? Anybody know? How hard is it to program a card for Apples HW?
Yea no kidding! I wish AMD and NVD would be more proactive providing Apple the drivers etc for the latest and greatest cards... why are they so slow? Anybody know? How hard is it to program a card for Apples HW?
Probably because their market is limited to Mac Pro only, which is a small percentage of an already small market. Therefore, it's not exactly high on their list of things to do. It's not as if they're ignoring the Mac market, but they certainly could do a better job.
I say they both Open Source their drivers, just as AMD/ATi already has for Linux.
Any thoughts on this? Thanks.
As there where different specs for Quartz, Quartz Extreme, Motion, ...
Could it be possible that my ATi X1600 of my IntelMac (which should validate for Snow Leopard) is not in the list to support that future OpenCL standard ?
So umm, would this actually work well on current MacBook Pros with 8600M nVidia video cards? Or reserved solely for the next generation GTX-based ones? I love the idea of leveraging the power of the video cards, and wont mind paying up more money for a MBP with 512MB vram that can take advantage of this. But if it can't, then I'll just get myself a cheaper Macbook to tide me over for now.
Any thoughts on this? Thanks.
Well, wouldn't it be a big selling point if Snow Leopard gets massive speed boost with all the 09 NEW Mac??
What are the chances of OpenCL running on Intel X4500 IGP? Which could easily be included in every single Mac.
Well, wouldn't it be a big selling point if Snow Leopard gets massive speed boost with all the 09 NEW Mac??
What are the chances of OpenCL running on Intel X4500 IGP? Which could easily be included in every single Mac.
I think it's safe to say no existing Intel offering would be supported. They are in this for the Larrabee effort, to come in 2010 or so.
The future seems highly parallel, and I'm glad Apple is pushing the players under a common umbrella.
What this will eliminate is dongle-based accelerators s.a. Elgato Turbo.264. Good so.
I love everything apple is doing with 10.6. This is exactly the way computing *should* be... it's like making a souffle... or a pie:
- Take a large number of standardized, open source, building blocks (ie, "high quality ingredients")
- Integrate the various blocks into a seamless, user-friendly, os (ie, "mix well")
- Place the OS in top-notch hardware ("bake in a sub-zero oven, or equivalent")
- Add toppings, if desired, serve, and enjoy.
Apple's revenue will come from knowing how to integrate the various parts into the most optimized, user-friendly, OS (like a good chef knowing which ingredients are best, and how to mix/prep them). Combine that with the sales from hardware and it's like selling a 5 star entree with the state-of-the-art oven (although, by this analogy, would that make an iphone a mini toaster-oven?)
About the "Apple doesn't carry the best video cards" line of posts here: If the standards are in place, it will be much easier to support new cards on a Mac. Yeah, it's a problem now - inferior cards and buggy drivers; a well-executed 10.6 that supports an open-standard for video will go a long way toward resolving this, assuring that the best video cards in 2009-10+ will be "ready for MacOS."
...or maybe I'm just hungry.
Just like when Microsoft took the cross-platform Java and made it better by hooking it into their OS.
Where's Microsoft? We need a company to join this open standards committee and apply their own proprietary formats to "improve" the collective codebase.
Just like when Microsoft took the cross-platform Java and made it better by hooking it into their OS.
Microsoft was not there? Well, their loss.
They are (have been) difficult to deal with. Your Java analogy is not working, really. They rather converted Java first to J# and then C#. They like (have liked) going their own roads.
OpenGL vs. DirectX may repeat. Hopefully OpenCL could be formulized first, and then when the recipe is ready, MS could apply that. Without messing everyone in the standardization process. They are (haven't been) good at such.
I hope they'd change. Just for their own sake.
About the "Apple doesn't carry the best video cards" line of posts here: If the standards are in place, it will be much easier to support new cards on a Mac. Yeah, it's a problem now - inferior cards and buggy drivers; a well-executed 10.6 that supports an open-standard for video will go a long way toward resolving this, assuring that the best video cards in 2009-10+ will be "ready for MacOS."
OpenGL, H.264, etc. are already open standards, but what has that done for getting more graphics cards available for Macs? Does OpenCL cover device drivers for the operating system? Otherwise we could have off-the-shelf graphics cards that can be installed in a Mac to run computing tasks, but still not be able to drive a monitor.
Where's Microsoft? We need a company to join this open standards committee and apply their own proprietary formats to "improve" the collective codebase.
Just like when Microsoft took the cross-platform Java and made it better by hooking it into their OS.
Microsoft was not there? Well, their loss.
They are (have been) difficult to deal with. Your Java analogy is not working, really. They rather converted Java first to J# and then C#. They like (have liked) going their own roads.
OpenGL vs. DirectX may repeat. Hopefully OpenCL could be formulized first, and then when the recipe is ready, MS could apply that. Without messing everyone in the standardization process. They are (haven't been) good at such.
I hope they'd change. Just for their own sake.
Irony police!
akauppi: Please pull your browser over to the curb and show your license.
Did you realize you sped right through the point of that previous post?
We'll let you go, this time. But please watch the signs more carefully.
And you have a nice day
Very curious what hardware will be required / supported.
As there where different specs for Quartz, Quartz Extreme, Motion, ...
Could it be possible that my ATi X1600 of my IntelMac (which should validate for Snow Leopard) is not in the list to support that future OpenCL standard ?
So umm, would this actually work well on current MacBook Pros with 8600M nVidia video cards? Or reserved solely for the next generation GTX-based ones? I love the idea of leveraging the power of the video cards, and wont mind paying up more money for a MBP with 512MB vram that can take advantage of this. But if it can't, then I'll just get myself a cheaper Macbook to tide me over for now.
Any thoughts on this? Thanks.
Nvidia and ATI both have SDKs that provide a low-level programming interface to their graphics hardware for general data processing ("GPGPU" processing) . I'm assuming OpenCL is going to be a common specification that will provide an abstraction layer over both companies proprietary GPGPU APIs for accessing their hardware.
Nvidia's CUDA system is supported on all Geforce 8xxx series (G80/G92) GPUs and newer, including your 8600GT.
ATI's situation is more complex. Their original system was called "Close-To-Metal" aka CTM and was supported on ATI X1900 (R580) and better GPUs. (Sorry, no x1600 I believe). But apparently they evolved CTM into something called "CAL"/Brook+, and this new system only works on the newer HD2400, HD2600, HD2900 and HD3800 series graphics board.
I have no experience with either system, and I have no idea which systems OpenCL is going to support, or if AMD/ATI are developing newer versions of each for OpenCL. I would assume that NVidia's Geforce 8 series and newer, and AMD'd 2xxx series and higher will both be supported.
...I have no experience with either system, and I have no idea which systems OpenCL is going to support, or if AMD/ATI are developing newer versions of each for OpenCL. I would assume that NVidia's Geforce 8 series and newer, and AMD'd 2xxx series and higher will both be supported...
The smart money's on nVidia 8series, 9series, Quadro, Tesla, and... Tegra. Of course though, AMD-ATI would not want to be left out... of many things.
...OpenGL vs. DirectX may repeat. Hopefully OpenCL could be formulized first, and then when the recipe is ready, MS could apply that. Without messing everyone in the standardization process. They are (haven't been) good at such...I hope they'd change. Just for their own sake.
There are several limits to Microsoft's DirectX rampage. The first is the phenomenal success of consoles such as Wii, PS2 and PS3. I'm quite sure the programming language here doesn't have many elements of DirectX:
"...Development on the original Xbox and the latest Xbox 360 has always benefited from DirectX also available on PCs. Now, thanks to Sony’s choice to support a variation of OpenGL there is a common graphic API for the PS3 and PCs... In addition, PS3 developers have another graphics API they can choose from. They can use libgcm, a low level API that offers more control over the RSX hardware..."
http://www.inalogic.com/post/choosin...i-for-the-ps3/
The second is of course "mobile internet devices", aka fancy mobile phones. For example, OpenGL ES on the iPhone.
The third is Microsoft's own tragic misadventures with Vista. DirectX10 was supposed to be the all-new fancy kickbutt graphix API super cool thing. However, Vista's shortcomings means that game developers, enthusiasts, and almost everyone else, has squeezed the most out of Windows XP and DirectX9.0c. If you take a very nice engine such as Valve's Source (HL2: Episode2) or Trackmania, use a 8800GT 512MB level card, and run it at 16xCoverageSampleAA, 1600x1200, 16xAF, and liberal sprinkling of shaders, it's pretty still darn nice.
If Microsoft is missing the bus on GPGPU computing, or at least not planting bombs on it, well, it could be for the good of the world, honestly.
Warning: Gushing and effusive posting to follow...
I love everything apple is doing with 10.6. This is exactly the way computing *should* be... it's like making a souffle... or a pie:
- Take a large number of standardized, open source, building blocks (ie, "high quality ingredients")
- Integrate the various blocks into a seamless, user-friendly, os (ie, "mix well")
- Place the OS in top-notch hardware ("bake in a sub-zero oven, or equivalent")
- Add toppings, if desired, serve, and enjoy.
What kind of souffle or pie is that?
What kind of souffle or pie is that?
A juicy and tasty one. I want one.