or Connect
AppleInsider › Forums › Software › Mac OS X › OpenCL and OpenGL take on DirectX
New Posts  All Forums:Forum Nav:

OpenCL and OpenGL take on DirectX - Page 2

post #41 of 74
Quote:
Originally Posted by Brad Oliver View Post

I worked on Apple's OpenGL team for a year alongside 4 of the people simultaneously working on OpenCL. A lot of the GL team's work was enabling CL to gain better access to the GPU. Suppose for the moment that I failed to understand a single thing about it and enlighten me.

Oh, I think you know what it is, but you are just discussing it at its simplest level here. I'm pointing out that it's much more than that.

Just a simple description from the Khronos Group will suffice to show what my statement means overall:

Quote:
OpenCL 1.0 at a glance
OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and handheld devices using a diverse mix of multi-core CPUs, GPUs, Cell-type architectures and other parallel processors such as DSPs.
post #42 of 74
Quote:
Originally Posted by ltcommander.data View Post

I was wondering how effective the clean-up was in OpenGL 3.0 from OpenGL 2.1? The way the tech news sites were reporting it, they made it seem like OpenGL 3.0 was supposed to be a clean break but in the end they only implemented a depreciation model and marked things as depreciated without removing them yet causing an uproar in the community. I wouldn't be surprised if OpenGL 3.0 was actually fairly well received and the news sites were just playing up some disagreements.

I guess OpenGL 3.0 support will come in Snow Leopard along with OpenCL, unless 3.0 is already being incorporated into Leopard.

It's called a Deprecation API, not a Depreciation API. We're not forecasting future value prices that account for usage and thus declining product value: we are end-of-life tagging an API.
post #43 of 74
Quote:
Originally Posted by mdriftmeyer View Post

It's called a Deprecation API, not a Depreciation API. We're not forecasting future value prices that account for usage and thus declining product value: we are end-of-life tagging an API.

You're right. I often make that mistake.
post #44 of 74
Quote:
Originally Posted by Brad Oliver View Post

I worked on Apple's OpenGL team for a year alongside 4 of the people simultaneously working on OpenCL. A lot of the GL team's work was enabling CL to gain better access to the GPU. Suppose for the moment that I failed to understand a single thing about it and enlighten me.

When Apple allows SLI for 2, if not 3 GPUs, in concert with leveraging the multiple cores in all CPU cores, locally and distributed over the XGrid, whether via optical connections or GigE you'll then be able to leverage quite a bit of more horsepower that would otherwise never be possible, at such a high level toolkit.

Add Cocoa accessible APIs, on-top, to be further extended for 3rd parties and you'll see many more market segments, besides Gaming that will benefit.

Of course, the big gap people seem to be bitching about from Apple is a clean, Cocoa API that is targeted at the Gaming Industry that makes OpenGL even more trivial, a Cocoa Shader API ala CoreShading, to CoreEngine API, et al..

In short, Gamers want Apple to do 80% of the heavy lifting while they mop up the other 20% and rave about all the talented people they have that make it possible for Apple to even have a solid gaming market.
post #45 of 74
Quote:
Originally Posted by melgross View Post

Oh, I think you know what it is, but you are just discussing it at its simplest level here. I'm pointing out that it's much more than that.

If you mean that CL doesn't prohibit targeting devices other than GPUs and CPUs, then yes - I am ignoring that because that is still in the nebulous future. But it boils down simply: tapping an otherwise idle resource like a GPU is obviously a win. Tapping a non-idle resource - not so much.
post #46 of 74
Quote:
Originally Posted by Brad Oliver View Post

If you mean that CL doesn't prohibit targeting devices other than GPUs and CPUs, then yes - I am ignoring that because that is still in the nebulous future. But it boils down simply: tapping an otherwise idle resource like a GPU is obviously a win. Tapping a non-idle resource - not so much.

It's also an obvious win if it enables software engineers an easier way to access more than one or two cores.
post #47 of 74
Quote:
Originally Posted by mdriftmeyer View Post

Add Cocoa accessible APIs, on-top, to be further extended for 3rd parties and you'll see many more market segments, besides Gaming that will benefit.

All Cocoa APIs layered on top would add is orgasmic sighs of release from the "pure Cocoa" crowd.

Quote:
Of course, the big gap people seem to be bitching about from Apple is a clean, Cocoa API that is targeted at the Gaming Industry that makes OpenGL even more trivial, a Cocoa Shader API ala CoreShading, to CoreEngine API, et al..

Most people I talk to want the basics implemented first to keep up with DirectX - Cocoa wrappers are practically a pipe dream by comparison. I think what you mention is mainly appealing to independent developers or Mac developers looking to write their first game. A lot of independent shops simply license engines like Unity and let them do the heavy lifting with GL.

It's worth noting that OpenGL *can* be reasonably trivial if you know the current, One True Way to do things. OpenGL 3.0 was supposed to be the rewrite that cleaned out the API and made this apparent to people new to the API (as well as helping optimize GL's internals for the modern day), which is where a lot of grief over 3.0 is coming from. I'd like to see Khronos get to work on that of course, but I don't see it as an earth-shattering disappointment.
post #48 of 74
Quote:
Originally Posted by Brad Oliver View Post

All Cocoa APIs layered on top would add is orgasmic sighs of release from the "pure Cocoa" crowd.



Most people I talk to want the basics implemented first to keep up with DirectX - Cocoa wrappers are practically a pipe dream by comparison. I think what you mention is mainly appealing to independent developers or Mac developers looking to write their first game. A lot of independent shops simply license engines like Unity and let them do the heavy lifting with GL.

It's worth noting that OpenGL *can* be reasonably trivial if you know the current, One True Way to do things. OpenGL 3.0 was supposed to be the rewrite that cleaned out the API and made this apparent to people new to the API (as well as helping optimize GL's internals for the modern day), which is where a lot of grief over 3.0 is coming from. I'd like to see Khronos get to work on that of course, but I don't see it as an earth-shattering disappointment.

You're not disagreeing and with the direction of Cocoa you know they want most of the low-level work done for them.

OpenGL 3.1 will finally give the haters really nothing to whine about other than the time to market between it and OpenGL 3.0.

The point of a CoreEngine would be to provide an Agnostic interface ala EOF that allows one's Engine of choice to plug n' play.
post #49 of 74
Another pertinent point in all of this, is when will Apple ever get good graphics card support!? Speccing a top-end Mac Pro I have a choice of an ATI 3870 or NVidia 8800GT[1]!!! - both are substantially outmatched on the PC side, where newly economical crossfire / SLI cards are becoming commonplace. Surely these dualGPU cards would make a substantial difference to OpenCL (and OpenGL) performance if we could just get to use them. If we Mac users still end up with old GPUs, what on earth is the point of sparring over software implementations.

I welcome OpenCL, but why oh why can't I get a modern graphics card to run it on...

As another example, the new Macbook Pro - two graphics cards without any ability to hook them together functionally. We can but hope Snow Leopard and OpenCL does some magic here because it just seems like a waste of silicon otherwise.

----
[1] to be fair I can get the £1800 Quadro 5600 as an option too - pretty big gap! I really wonder how much it can outperform a newer Geforce 280 which is £300...
post #50 of 74
Quote:
Originally Posted by irondoll View Post

Another pertinent point in all of this, is when will Apple ever get good graphics card support!? Speccing a top-end Mac Pro I have a choice of an ATI 3870 or NVidia 8800GT[1]!!! - both are substantially outmatched on the PC side, where newly economical crossfire / SLI cards are becoming commonplace. If we Mac users still end up with old GPUs, what on earth is the point of sparring over software implementations.

I welcome OpenCL, but why ogwhy can't I get a modern graphics card to run it on...

As another example, the new Macbook Pro - two graphics cards without any ability to hook them together functionally. We can but hope Snow Leopard and OpenCL does some magic here because it just seems like a waste of silicon otherwise.

----
[1] to be fair I can get the £1800 Quadro 5600 as an option too - pretty big gap! I really wonder how much it can outperform a newer Geforce 280 which is £300...

Just buy the low end Mac Pro and sub in your graphics card of choice.
post #51 of 74
Quote:
Originally Posted by Tauron View Post

Just buy the low end Mac Pro and sub in your graphics card of choice.

Does OS X support the NVidia GTX 280? Or the ATI 4870 X-fire? As I understand it there is no software support. I can of course just run Vista on the Mac Pro and that'll be fine, but I'd rather run an elegant OS ;-)

OS X will always lag behind Windows in graphics performance as it takes long cycles in releasing supported GPUs, which even then are rarely the cutting edge versions. DirectX and Windows will always have support of the latest cards driven by the furnace of competition. Even Linux has more dynamic/robust GPU support than OS X...
post #52 of 74
1. In current state, Direct X 10.1 is properly a better and cleaner API then OpenGL 3.0. Before Direct X 9, version 6 - 8 were never that good compare to OpenGL.
But OpenGL has fallen behind due to political reasons.

2. And really, we should be talking about Direct 3D here, Direct X is much more then a graphical API. We lack other part of API to make it competitive against Direct X.

3. So unless Steve Jobs suddenly decide to support Games, i dont see any magic happen and no one in the industry could suddenly turn things around.

There are only two kind of people in this world.

Those who dont understand Apple and those who misunderstood Apple.

Reply

There are only two kind of people in this world.

Those who dont understand Apple and those who misunderstood Apple.

Reply
post #53 of 74
Quote:
Originally Posted by ksec View Post

2. And really, we should be talking about Direct 3D here, Direct X is much more then a graphical API. We lack other part of API to make it competitive against Direct X

The other parts of DirectX aren't as important. Only DirectInput has any legs in the modern world. DirectShow, DirectPlay and all those others are essentially dead APIs on the PC.

Edit: OK, if you include "Games for Windows" APIs that include achievements and other things that have moved from the 360 to the PC in the past year, yeah - those are nowhere to be found in OS X.
post #54 of 74
Quote:
Originally Posted by irondoll View Post

Does OS X support the NVidia GTX 280? Or the ATI 4870 X-fire? As I understand it there is no software support. I can of course just run Vista on the Mac Pro and that'll be fine, but I'd rather run an elegant OS ;-)

I know this gets pinned on Apple a lot, but ATI does make and sell retail Mac cards, so it's not like Apple shares the sole burden of this. ATI and Nvidia do write their own drivers on the Mac, with Nvidia sticking strictly to OEM work and ATI occasionally branching out with a retail release.
post #55 of 74
Hasn't Apple always been in a bad place using different firmware (OF/EFI) that forced manufacturers into making Mac specific cards? I'm curious if Windows has started supporting EFI to the point where graphics card manufacturers are able to produce EFI compatible cards that would work with both OS and Windows.
"Slow vehicle speeds with frequent stops would signal traffic congestion, for instance."

uh... it could also signal that my Mom is at the wheel...
Reply
"Slow vehicle speeds with frequent stops would signal traffic congestion, for instance."

uh... it could also signal that my Mom is at the wheel...
Reply
post #56 of 74
What's often forgotten is that the only machines Apple makes any more that take graphics cards are the Mac Pros. If Apple sells a million a year, thats simply not enough to tempt the card makers. All machines will be supplied with Apple's versions of the cards, unless the others make cards, and can manage to persuade Apple to allow their cards to be sold with the machine instead of Apple's, at purchase, if buyers want to do so.

As we have no idea of what happens behind the closed doors, for all we know, that's the problem.

Most people have no interest in upgrading their cards. That's a general truth. most pros really don't need anything other than what Apple offers.

Of course, with OpenCL, Apple's ideas about cards may change.

We can only hope that it will make card makers think about offering their wares.
post #57 of 74
Quote:
Originally Posted by Mr Beardsley View Post

Hasn't Apple always been in a bad place using different firmware (OF/EFI) that forced manufacturers into making Mac specific cards? I'm curious if Windows has started supporting EFI to the point where graphics card manufacturers are able to produce EFI compatible cards that would work with both OS and Windows.

It's a minor problem.

The real problem is marketshare. It's that simple.

There were more than 300 million PCs sold last year. Considering all the laptops, and netbooks, along with low end machines that don't take graphic cards, that still leaves a good 100 million machines that do take graphics cards.

Now compare that to the one million or so Mac Pros Apple sells in a year.

That's at most 1% marketshare. Not enough to bother with. It's not as though Mac Pro users would buy more than a fraction of that number of cards a year, even considering the installed base.
post #58 of 74
Quote:
Originally Posted by Mr Beardsley View Post

Hasn't Apple always been in a bad place using different firmware (OF/EFI) that forced manufacturers into making Mac specific cards? I'm curious if Windows has started supporting EFI to the point where graphics card manufacturers are able to produce EFI compatible cards that would work with both OS and Windows.

Not anymore. UEFI firmware is the standard moving forward on Intel's platform seeing as they created it.

Cards from Nvidia and AMD/ATi will be UEFI aware or they will break soon with motherboard/bios manufacturers (Phoenix) being the main ally in developing and promoting it with Intel.

All the key players are driving it:

http://www.uefi.org/about/

Who is missing on the board is Nvidia, but they are moving their cards to UEFI compliance.
post #59 of 74
http://developer.nvidia.com/object/opengl_3_driver.html

It's about time and a nice holiday present.

Now, Apple will have to update it's system even more.
post #60 of 74
Quote:
Originally Posted by mdriftmeyer View Post

http://developer.nvidia.com/object/opengl_3_driver.html

It's about time and a nice holiday present.

Now, Apple will have to update it's system even more.

http://developer.apple.com/graphicsi.../capabilities/

I don't know if Apple's drivers even have full OpenGL 2.1 support yet. I thought Leopard was advertised as having OpenGL 2.1 support, but that seems to only be the software renderer. The nVidia 8xxx series and ATI HD2xxx both of which are supposed to have hardware OpenGL 2.1 support (I guess OpenGL 3.0 now) are only listed as OpenGL 2.0. And the Intel IGPs which everyone was complaining about seem to be even more behind since the GMA 950 has hardware support for OpenGL 1.4 and the GMA X3100 for OpenGL 1.5 yet Apple is only listing OpenGL 1.2. I guess you can still access individual hardware features through extensions. The chart is only updated to 10.5.5, maybe things have changed in 10.5.6.
post #61 of 74
The "facts" in the article are wrong. What your are writing is maybe true in theory but thats just all.
Take a look at the official Subset of OpenGL. If you want modern features you have to take the Extensions from Nvidia or ATI.

Windows-OpenGL != Linux-OpenGL != Mac-OpenGL. And Nvidia-OpenGL != AMD-OpenGL

e.g. NVIDIA Hardware und OpenGL problems
http://www.opengl.org/discussion_boa...614#Post246614
http://www.opengl.org/discussion_boa...267#Post246267
http://www.opengl.org/discussion_boa...075#Post245075
http://www.opengl.org/discussion_boa...629#Post242629
http://www.opengl.org/discussion_boa...472#Post241472
http://www.opengl.org/discussion_boa...209#Post246209

OpenGL3 is a joke. Big promisses but nearly "nothing" happened. At the end also Carmack (one of the big supporters) was pissed about OpenGL3. DirectX is much better for the programmer.


The PS3 is able to use PSGL. PSGL is a specified Version from OpenGL ES. But PSGL is just an option for the ps3. There are also so much extensions, that where remains nearly nothing from "to be independent from the hardware". No one who understand something from coding on the ps3 will use PSGL.
The Nintendo Wii is using a Custom API. Some of the Concepts of OpenGL are simliar.
post #62 of 74
So does this mean a lot of games are already semi-ported to GNU/Linux since they use OpenGL? " Why aren't we having all kinds of games for GNU/Linux??!!!!!

"The console exception is of course Microsoft's Xbox, which was named after the DirectX graphics libraries it was designed promote in an effort to stop a broad migration to OpenGL in gaming and a subsequent erosion of Microsoft's software monopoly. "

This sounds like abuse of Monopolistic power to me. Just because a company has a leading market share in the computer Operating System, does not mean they should be allowed to stomp all over an Open platform of any kind by leveraging their market position. It's kinda like some over zealous corporation coming into your local library and burning down the books. Open standards should be more protected. This kinda crap needs to be stopped, it's retarding our future of technology!! Technology is a science, and profiteering, vendor-locking, technology-restricting trolls are burning down the research libraries in front of our eyes.

Stop the TAX!!!!
GO GNU/LINUX!!!!
post #63 of 74
Quote:
Originally Posted by Shannon_VanWagner View Post

This kinda crap needs to be stopped, it's retarding our future of technology!! Technology is a science, and profiteering, vendor-locking, technology-restricting trolls are burning down the research libraries in front of our eyes.

What do you do if the vendor locking technology is the one driving the industry forward because it isn't pandering to CAD software developers who don't want their apps broken?

If OpenGL had kept up then people would use it more.

R&D costs money so do you force people to spend their money on improving open technology that everyone uses thereby not making a return on that investment? What happens is that companies just stop spending in that area and try to make smarter business decisions. It would be great if business worked in such a way that every move could further technology as well as being sustainable financially but sadly the real world doesn't work like this.

Technology progresses by competition and only with competition does technology drive forward quickly. Hence the rapid improvements in GPU technology with Nvidia and ATI trying to outperform each other. Same with Intel and AMD. When you remove yourself sufficiently from the competition, you can do things like put laptop hardware in your entire consumer desktop line and pretend it's an ok thing to do.

Exclusivity strengthens an entire eco-system and Microsoft need these to survive but it also keeps Apple and a huge number of other companies alive too. If Microsoft had to be forced to further OpenGL then surely Apple would have to be forced to allow their OS on other hardware. It's exclusivity all the same.

I actually don't think that the Mac and Linux communities are worth putting in effort for regarding gaming. You're probably talking about 50 million or so desktop machines total and a small percentage of that is capable of gaming and another percentage is actually interested in gaming, I think you'd be lucky to hit an audience of 5 million, which is a fraction of console target audiences and PC gamers who have grown in numbers over a period of years.
post #64 of 74
I think the adoption of open CL and Grand Central as core parts of OSX opens up all sorts of possibilities for Apple to assault the living room with an end run around the existing console makers. More here at http://goldenboat.wordpress.com/2008...-trojan-horse/!
post #65 of 74
Quote:
Originally Posted by apfel View Post

The "facts" in the article are wrong. What your are writing is maybe true in theory but thats just all.
Take a look at the official Subset of OpenGL. If you want modern features you have to take the Extensions from Nvidia or ATI.

Windows-OpenGL != Linux-OpenGL != Mac-OpenGL. And Nvidia-OpenGL != AMD-OpenGL

e.g. NVIDIA Hardware und OpenGL problems
http://www.opengl.org/discussion_boa...614#Post246614
http://www.opengl.org/discussion_boa...267#Post246267
http://www.opengl.org/discussion_boa...075#Post245075
http://www.opengl.org/discussion_boa...629#Post242629
http://www.opengl.org/discussion_boa...472#Post241472
http://www.opengl.org/discussion_boa...209#Post246209

OpenGL3 is a joke. Big promisses but nearly "nothing" happened. At the end also Carmack (one of the big supporters) was pissed about OpenGL3. DirectX is much better for the programmer.


The PS3 is able to use PSGL. PSGL is a specified Version from OpenGL ES. But PSGL is just an option for the ps3. There are also so much extensions, that where remains nearly nothing from "to be independent from the hardware". No one who understand something from coding on the ps3 will use PSGL.
The Nintendo Wii is using a Custom API. Some of the Concepts of OpenGL are simliar.

I'd estimate > 90% of OpenGL markets are NOT GAMES.

The point of OpenGL 3.0 is to get those non-gaming folks to prepare for 3.1 which will cut ties with those CAD/CAM deprecated OpenGL APIs littered throughout applications from AutoDesk and others.

When OpenGL 3.1 comes with it's OO model and those deprecated APIs out you're not going to see whining from the CAD Industry as they were forewarned to adapt or be left behind.
post #66 of 74
It's too bad Apple didn't release Quickdraw 3D back in 1995 the way it's releasing OpenCL. That was way ahead of OpenGL, and anything else. It might have made it.
post #67 of 74
Quote:
Originally Posted by melgross View Post

It's too bad Apple didn't release Quickdraw 3D back in 1995 the way it's releasing OpenCL. That was way ahead of OpenGL, and anything else. It might have made it.

One of the first toolkits we wanted to kill with the merger was QuickDraw 3D. I am not going to go into the background, but let's just say it was DOA with the goals and direction of Rhapsody and later OS X.

More information now available about OpenCL and OpenGL working together from SIGGRAPH December in Asia.

http://www.khronos.org/library/detai...aph_asia_2008/

There are plenty of code examples in the PDFs, not to mention the back portion of the OpenCL hints at what GPUs are supported.
post #68 of 74
Quote:
Originally Posted by mdriftmeyer View Post

One of the first toolkits we wanted to kill with the merger was QuickDraw 3D. I am not going to go into the background, but let's just say it was DOA with the goals and direction of Rhapsody and later OS X.

More information now available about OpenCL and OpenGL working together from SIGGRAPH December in Asia.

http://www.khronos.org/library/detai...aph_asia_2008/

There are plenty of code examples in the PDFs, not to mention the back portion of the OpenCL hints at what GPUs are supported.

The NEXT people wanted to kill a lot of things. It looked in the beginning that they wanted Apple to be a successful version of NEXT, but it didn't quite happen. The users actually had a voice in that.
post #69 of 74
Quote:
Originally Posted by melgross View Post

The NEXT people wanted to kill a lot of things. It looked in the beginning that they wanted Apple to be a successful version of NEXT, but it didn't quite happen. The users actually had a voice in that.

It wasn't the users. It was Macromedia, Microsoft and Adobe. Without them the company would have folded.

Now, flashfoward. Where is the operating system heading towards? NeXTSTEP for OS X 10.6.
post #70 of 74
Quote:
Originally Posted by mdriftmeyer View Post

It wasn't the users. It was Macromedia, Microsoft and Adobe. Without them the company would have folded.

Now, flashfoward. Where is the operating system heading towards? NeXTSTEP for OS X 10.6.

I'm speaking about the GUI elements mostly.
post #71 of 74
Quote:
Originally Posted by melgross View Post

I'm speaking about the GUI elements mostly.

That was a pragmatic infighting between developer groups that resulted in an abortion for Rhapsody.

Tim Wasko [NeXT] was put in charge of modernizing and coming up with a compromise because we couldn't get Keith Ohlfs to leave WebTV at the time due to his stock windfall with Microsoft.

My 2cents were an option in Preferences to choose between the current look or a modernized NeXT look, as choice.

That took a back seat to getting Aqua done.

I hope they revisit it.
post #72 of 74
Apple is pushing for OpenCL/GL acceleration for the iPhone & perhaps for the high end tools. Didn't they hire someone who is popular on the mobile graphics field? I don't see a push for gaming on the Macintosh.
Most of us employ the Internet not to seek the best information, but rather to select information that confirms our prejudices. - Nicholas D. Kristof
Reply
Most of us employ the Internet not to seek the best information, but rather to select information that confirms our prejudices. - Nicholas D. Kristof
Reply
post #73 of 74
Quote:
Originally Posted by talksense101 View Post

Apple is pushing for OpenCL/GL acceleration for the iPhone & perhaps for the high end tools. Didn't they hire someone who is popular on the mobile graphics field? I don't see a push for gaming on the Macintosh.

I don't think it needs to be thought of as a dichotomy. Given the new graphics that I think will probably be in the entire line-up, the base MacBook can run much more powerful games than the previous models have.
post #74 of 74
Quote:
Originally Posted by talksense101 View Post

Apple is pushing for OpenCL/GL acceleration for the iPhone & perhaps for the high end tools. Didn't they hire someone who is popular on the mobile graphics field? I don't see a push for gaming on the Macintosh.

http://jobsearch.monster.com/Search....ad_units=miles

Quote:
Apple/Mac System Software Engineer
NVIDIA Corporation
Santa Clara, CA 95050
Dec 29

Senior System Software Engineer - Apple/Mac
NVIDIA Corporation
Santa Clara, CA 95050
Dec 29

Senior System Software Engineer
NVIDIA Corporation
Austin, TX 73301
Dec 29

Senior OpenGL Software Engineer - Mac
NVIDIA Corporation
Santa Clara, CA 95050
Dec 29

Senior OpenGL Software Engineer - Mac
NVIDIA Corporation
Santa Clara, CA 95050
Dec 29

Senior Firmware / EFI Engineer - Apple/Mac
NVIDIA Corporation
Santa Clara, CA 95050
Dec 29
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mac OS X
AppleInsider › Forums › Software › Mac OS X › OpenCL and OpenGL take on DirectX