Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
OpenCL was announced some years ago, its only just hit a stable release! It was DEVELOPED using older cards...

Apple's just been MEGA lazy with the drivers!!!
We're talking 3.5 years of computers... they've chosen not 2 support 2 VERY POPULAR ATI cards (which basically cover everybody who doesn't have the latest round of MBP's or Mac Pro's.)

Do these VERY POPULAR ATI cards support IEEE 754 floating point arithmetic? If not, nobody in the world would be able to write OpenCL drivers for them that are worth a penny.
 
SL really doesn't come without GCD. In fact libdispatch and the kernel work together very tightly. From what I can see the major reason to get SL out the door was to get GCD out in the wild, GCD is the whole point of the SL release.
I think you may have misunderstood what I was trying to say - what I meant was to compile the app with and without GCD-savvy thread management and then run it on SL.

Ditto with OpenCL
 
OpenCL was announced some years ago, its only just hit a stable release! It was DEVELOPED using older cards...

Apple's just been MEGA lazy with the drivers!!!
We're talking 3.5 years of computers... they've chosen not 2 support 2 VERY POPULAR ATI cards (which basically cover everybody who doesn't have the latest round of MBP's or Mac Pro's.)

It's just a grudge match against ATI... Apple ALWAYS does this...
OS X OpenGL - didn't support the older ATI cards (OS 9 OpenGL did though? Apple got sued big time for that one because they'd sold a bunch of iMacs to a HUGE law firm... claiming they were OS X capable as they had G3's)
Quartz extreme - didn't support the Rage Pro...
Quartz extreme (when updated) - didn't support the GeForce 2
OpenCL - doesn't support computers more than 2 years old (although it was drafted out and announced before then)

---

It's Apple's tactic. Most Macs have built-in graphics cards and you CAN'T get these new features without buying a whole new computer.

Windows is different... you can generally upgrade your graphics card even if you have a cheap computer. And... Windows... tends to support pretty well every card (out of a MUCH larger pool that Apple's offering)... Apple's restricted OS X to the last 3 years of computers produced and STILL can't support every computer. It's a farce!

No it's not a farce. The hardware capabilities just haven't been there that long. This is bleeding edge stuff for a reason.

The OpenCL specification didn't even exist until last June. It was not announced "some years ago"

OpenCL is based on NVidia's CUDA architecture, and underneath the hood NVidia GPUs use CUDA for their OpenCL support. So the NVidia GPUs that support OpenCL are the same ones that support CUDA. Broader compatibility with NVidia GPUs is not possible. As for why older (desktop) ATI cards are not supported, read this straight from the horse's (AMD's) mouth: http://netkas.org/?p=182. And Intel integrated graphics ... don't get me started. From the looks of it Intel integrated graphics won't support any form of GPGPU until 2010.

So Apple has adequately supported the graphics hardware that could feasibly support OpenCL. Machines that don't have GPUs supporting OpenCL will still benefit because OpenCL can also run in parallel on the CPU. That includes every single Intel Mac!

Moreover, OpenCL was a necessary feature to add to Snow Leopard because Microsoft is working on its own competing GPGPU solution in DirectX.

Finally, in the long run, OpenCL will bring great benefits to the whole industry, because finally there exists an open GPGPU standard supported across multiple vendors. Developers no longer have to use one set of tools for ATI cards and another for NVidia cards.

It's absolutely crazy to think that OpenCL support in Snow Leopard constitutes some kind of money grab. It's beneficial to the industry, it benefits the performance of every single Mac that you can legally install Snow Leopard on, and it was necessary for Apple to remain competitive with Microsoft.
 
No it's not a farce. The hardware capabilities just haven't been there that long. This is bleeding edge stuff for a reason.

The OpenCL specification didn't even exist until last June. It was not announced "some years ago"

OpenCL is based on NVidia's CUDA architecture, and underneath the hood NVidia GPUs use CUDA for their OpenCL support. So the NVidia GPUs that support OpenCL are the same ones that support CUDA. Broader compatibility with NVidia GPUs is not possible. As for why older (desktop) ATI cards are not supported, read this straight from the horse's (AMD's) mouth: http://netkas.org/?p=182. And Intel integrated graphics ... don't get me started. From the looks of it Intel integrated graphics won't support any form of GPGPU until 2010.

So Apple has adequately supported the graphics hardware that could feasibly support OpenCL. Machines that don't have GPUs supporting OpenCL will still benefit because OpenCL can also run in parallel on the CPU. That includes every single Intel Mac!

Moreover, OpenCL was a necessary feature to add to Snow Leopard because Microsoft is working on its own competing GPGPU solution in DirectX.

Finally, in the long run, OpenCL will bring great benefits to the whole industry, because finally there exists an open GPGPU standard supported across multiple vendors. Developers no longer have to use one set of tools for ATI cards and another for NVidia cards.

It's absolutely crazy to think that OpenCL support in Snow Leopard constitutes some kind of money grab. It's beneficial to the industry, it benefits the performance of every single Mac that you can legally install Snow Leopard on, and it was necessary for Apple to remain competitive with Microsoft.

If you're going to post a link then make sure it backs up your claims:

Looks like they have ability to run opencl on old radeon cards but it isn’t enabled yet.

It can be just two reasons why – it’s not finished/ready yet and will be finished later, or they are not going to enable it and pushing users for upgrade.

AMEN!!! They're capable! The debate is over why Apple hasn't enabled it yet?!?

Why? Because they don't think it's worth it... Apple's made its position quite clear on upgrade paths. With regard to PPC users they made a great excuse... something along the lines of "these guys aren't at the bleeding edge and don't generally upgrade stuff anyway"... sure, they're living in the old days.

BUT this should mean that ALL Intel users get respect because ALL the PPC users are being cut off. Having OpenCL on an older Mac would bring new life into it! On a Mac Pro... you'll hardly notice it 'coz it's lightning fast already...
 
Now if only Snow Leopard could actually function properly...

It works like a dream on my 2 Macs and all my friends MacBooks... so what is your problem? Have you tried a fresh installation?:eek:
 
They are capable... I can tell you that much.
What do you think rendering video involves? MATHS!

Your card was designed for rendering video... but Apple decided to make a driver that allowed it to work like a backup CPU. They were just laaaazy and have a really bad relationship with ATI nowadays.

AMEN!!! They're capable! The debate is over why Apple hasn't enabled it yet?!?

You might want to look at ATI's/AMD's and NVidia's supported GPUs for their own GPGPU libraries.

http://en.wikipedia.org/wiki/AMD_FireStream#AMD_stream_processing_lineup

http://en.wikipedia.org/wiki/CUDA#Supported_GPUs
 
You might want to look at ATI's/AMD's and NVidia's supported GPUs for their own GPGPU libraries.

http://en.wikipedia.org/wiki/AMD_FireStream#AMD_stream_processing_lineup

http://en.wikipedia.org/wiki/CUDA#Supported_GPUs

You are so daft!
Supported means they've written a driver!!!!!!!
Unsupported means no driver exists at this stage...

---

It's like this random Japan-only Canon printer I have at work... there's no Mac drivers! But... if I do a bit of hacking to make it think it's another printer then it works. Just because it's "unsupported" doesn't mean Macs aren't capable of printing stuff out using it.

---

... Fable II is an Xbox game... MacOS and Windows are currently UNSUPPORTED... but I'm pretty sure that many Macs/PC's are capable of running it if they make a port.

---

My video camera is UNSUPPORTED on MacOS... but if I plug it into my Mac I can copy the video files over as if it's a hard disk... if somebody made a driver... well then iMovie could just import it!

---

I have a jailbroken iPod Touch. A bunch of GPS apps on the app store are UNSUPPORTED. I tricked iTunes into thinking my iPod Touch is an iPhone, so the apps install, and they work fine with my 3rd party GPS unit! Actually better than the built-in GPS given with the iPhone 3GS!!!!

---

UNSUPORTED means nobody's made a driver. Where there's a will there's a way... it's just Apple lacks will because these particular GPU's have been discontinued. That said... there's only 2 or 3 possible GPU's you can have on an Intel Mac that aren't supported... so it's damn lazy of them!
 
Please check your "facts"

In fact Microsoft has ended its own support for XP, and only extended (read:business) support remains to 2014. Does the fact that netbooks are still being sold with XP mean that they're out of support? No. The OEM supports it, and only for a year at that.

Actually, XP SP3 is supported until April 2010 at least. Support has been dropped for older service packs.

Also extended support gives all users security patches, not just businesses. Companies that pay for support will get other fixes.

Since you claim Tiger is still supported because it got a security patch, then by that standard XP is supported to 2014!
 
Interesting the X1900XTX is listed, but none of the 2xxxHD is. I wonder why that is.

Look again...

The tables are listing ATI STREAM Processing capable cards, NOT OpenCL ones... Yes, Stream is/was their proprietary answer to CUDA, but Stream != OpenCL... I'm sure there are things that are quite different between the two and those differences are probably why the 1900 isn't supported in OpenCL.

You won't find the 2xxx series supported by OpenCL (probably Ever) because they can't do double precision floating point, which is required for OpenCL use, among some other limitations related to memory interface and such.

Face it gang, right now even the 4xxx series support for OpenCL under OSX is pretty crappy. 1/2 the OpenCL example programs from the Apple Developer web pages I've tried don't run at all on my 2009 Mac Pro w/4870, or if they do, they run slower on the card than they do on my 2.93 Ghz Quad core CPU.

Remember that OpenCL is based on CUDA, which is NVidia's baby. I'm sure there's things about OpenCL that just favor NVidia's architecture a lot more than ATI's because of the different ways they do things. It's probably also a lot more work to build ATI drivers right now for the same reasons.
 
Look again...

The tables are listing ATI STREAM Processing capable cards, NOT OpenCL ones... Yes, Stream is/was their proprietary answer to CUDA, but Stream != OpenCL... I'm sure there are things that are quite different between the two and those differences are probably why the 1900 isn't supported in OpenCL.

You won't find the 2xxx series supported by OpenCL (probably Ever) because they can't do double precision floating point, which is required for OpenCL use, among some other limitations related to memory interface and such.

Face it gang, right now even the 4xxx series support for OpenCL under OSX is pretty crappy. 1/2 the OpenCL example programs from the Apple Developer web pages I've tried don't run at all on my 2009 Mac Pro w/4870, or if they do, they run slower on the card than they do on my 2.93 Ghz Quad core CPU.

Remember that OpenCL is based on CUDA, which is NVidia's baby. I'm sure there's things about OpenCL that just favor NVidia's architecture a lot more than ATI's because of the different ways they do things. It's probably also a lot more work to build ATI drivers right now for the same reasons.
It appears that AMD doesn't have the GPU OpenCL SDK out yet. Only the CPU one. So optimization hasn't happened yet.
 
The tables are listing ATI STREAM Processing capable cards, NOT OpenCL ones... Yes, Stream is/was their proprietary answer to CUDA, but Stream != OpenCL... I'm sure there are things that are quite different between the two and those differences are probably why the 1900 isn't supported in OpenCL.

Stream is an implementation of OpenCL. ATI's proprietary 'Close to Metal' crap fell flat, so now they have Stream, which implements OpenCL and some DirectX type GPGPU stuff. Your point still stands though, the list is too inclusive(it includes their old pre-OpenCL technology).

You won't find the 2xxx series supported by OpenCL (probably Ever) because they can't do double precision floating point, which is required for OpenCL use, among some other limitations related to memory interface and such.

The R700 (a.k.a. Radeon 4XXX) is pretty much the R600 (a.k.a. Radeon 2XXX and 3XXX) with double-precision support. For graphics, double precision is a waste, but for science or real work it can be very handy. The R700 is still primarily single-precision, with some double precision stuff bolted on. http://developer.amd.com/gpu_assets/R700-Family_Instruction_Set_Architecture.pdf

BUT... it does seem that Double-precision is an optional extension to OpenCL.
http://www.khronos.org/registry/cl/specs/opencl-1.0.43.pdf

The Nvidia 9400M doesn't support double-precision math.

The R600 has support for single-precision IEEE754 floats on 4 of it's 5 shader units.
http://www.beyond3d.com/content/reviews/16/8
 
They are capable... I can tell you that much.
What do you think rendering video involves? MATHS!

Your card was designed for rendering video... but Apple decided to make a driver that allowed it to work like a backup CPU. They were just laaaazy and have a really bad relationship with ATI nowadays.

Which one is capable? Give a specific unsupported card that is capable.
 
Anyone else having problems getting OpenCL to work on a 2006MacPro and ATI 4870? :(

It's the 4870 in general... Not just on 2006 Mac Pro's... Seems like the 4870's OpenCL driver just generally blows right now... I'm hoping it improves over point releases.
 
It's the 4870 in general... Not just on 2006 Mac Pro's... Seems like the 4870's OpenCL driver just generally blows right now... I'm hoping it improves over point releases.

Is there any reason we have to wait for point releases to get GPU driver updates if ATI and nVidia are the ones writing the drivers?
 
Is there any reason we have to wait for point releases to get GPU driver updates if ATI and nVidia are the ones writing the drivers?

No, but then I haven't exactly seen a lot of driver updates for Mac show up outside of the standard OSX System Updates, so I don't know that it's actually NVidia or ATI writing the drivers or if it's Apple doing it. Sure, there's no reason either would have to wait for 10.6.x point releases to drop new drivers, I just figured that would be a logical time to do so to make sure that "If you want to run this, you need to be on 10.6.x or higher to ensure support."
 
Given that it's been pouring here for the last 4 days, and they're calling for more rain all weekend (anyone got an Arc they can loan me???) I might go ahead and take a crack at writing some sort of program to test the various configurations discussed earlier in the thread.

Some possible ideas I had:

1) a process that takes 2 very huge (100000x100000 each) arrays of numbers and multiplies them together
2) something that takes a huge list of random text names in mixed case and converts them into uppercase.
3) something that does some kind of sort of a large amount of data (maybe the outputs of 1 and 2?) This is assuming I can find and implement a sort algorithm that can be done both linearly and threaded.

I might even try to make all 3 be run to REALLY stress things.

Note, that I plan to pre-generate all the test data so the exact same "random" data can be run over and over, taking variations in the data out of the "benchmarking" equation, regardless of user running it and computer.

So, my plan would be:

* Implement each of these things in a linear processing fashion.
* Implement each of these things to be done using blocks + GCD
* Implement each of these to be done by OpenCL

(Once I get the 1st or 2nd one implemented, I'll toss up the source code someplace and ask somebody who's more familiar with OSX development to write the normal PThreads type implementation since I don't have a clue how to do that.)

I'll keep you all updated to my progress over the weekend. I haven't done much Objective C - (in fact it's been nearly a year since I've touched it) but I think I'll be able to figure out how to do at least some of this this weekend.
 
You're doing a great job of trying to blur the issue, with regard to Linux, Microsoft, OEMs, Dell, HP, and stuff that has nothing to do with Apple.

So that 2014 you state wouldn't even apply to me. Given, it wouldn't apply since I bought all my PCs from a OEM, who is apparently supposed to do the support and not Microsoft.

Which is not true. EVERYBODY is getting security updates until 2014. You are reading too much in to the meaning of 'mainstream support.' That doesn't mean they cut off security updates.

Apple is embarrassing in their product support.
 
EVERYBODY is getting security updates until 2014. You are reading too much in to the meaning of 'mainstream support.' That doesn't mean they cut off security updates.

Apple is embarrassing in their product support.

Apple doesn't support legacy versions for very long, but XP has been getting non-patch statuses for less-than-critical known bugs.

For example: http://www.computerworld.com/s/article/9138007/Microsoft_No_TCP_IP_patches_for_you_XP
The bug lets you use all available memory for as long as you can keep sending packets to the computer. In effect, it lets you remotely crash an XP machine.
 
If you're going to post a link then make sure it backs up your claims:



AMEN!!! They're capable! The debate is over why Apple hasn't enabled it yet?!?

Why? Because they don't think it's worth it... Apple's made its position quite clear on upgrade paths. With regard to PPC users they made a great excuse... something along the lines of "these guys aren't at the bleeding edge and don't generally upgrade stuff anyway"... sure, they're living in the old days.

BUT this should mean that ALL Intel users get respect because ALL the PPC users are being cut off. Having OpenCL on an older Mac would bring new life into it! On a Mac Pro... you'll hardly notice it 'coz it's lightning fast already...

You read the bottom but missed the points outlined by AMD. AMD is pointing out that the 3000 and 4000 HD series GPUs handle GPGPU very differently. The 3000 HD series has no compute support, so it targets the graphics pipeline by compiling to vertex and pixel shaders. Meanwhile the 4000 HD series does have compute support. You can imagine that this makes it technically difficult to support both the 3000 and 4000 series GPUs in OpenCL, if it's even technically possible. Just because there are some strings in a driver doesn't mean it's as simple as flipipng a switch.

The computer industry moves very fast. And the GPU industry moves even faster. This is just the nature of the business -- it's not some kind of conspiracy.
 
Apple doesn't support legacy versions for very long, but XP has been getting non-patch statuses for less-than-critical known bugs.

For example: http://www.computerworld.com/s/article/9138007/Microsoft_No_TCP_IP_patches_for_you_XP
The bug lets you use all available memory for as long as you can keep sending packets to the computer. In effect, it lets you remotely crash an XP machine.

Yes, if you have the Firewall off. That's their excuse. Many people believe they need to fix this bug on XP and Windows 2000, no matter what their excuse. And I agree.

But thank you for pointing out that Microsoft is so thorough in their security updates that when they try to weasel out of one, the whole world takes note.
 
You read the bottom but missed the points outlined by AMD. AMD is pointing out that the 3000 and 4000 HD series GPUs handle GPGPU very differently. The 3000 HD series has no compute support, so it targets the graphics pipeline by compiling to vertex and pixel shaders. Meanwhile the 4000 HD series does have compute support. You can imagine that this makes it technically difficult to support both the 3000 and 4000 series GPUs in OpenCL, if it's even technically possible. Just because there are some strings in a driver doesn't mean it's as simple as flipipng a switch.

The computer industry moves very fast. And the GPU industry moves even faster. This is just the nature of the business -- it's not some kind of conspiracy.

No, I read the part you refer to saying there's no drivers!!!
I then read the bottom where they said despite the lack of drivers, there's no technical reason why MOST older cards can't support OpenCL.

Your article backs up my points 100%... thanks for the reference.
 
Yes, if you have the Firewall off. That's their excuse. Many people believe they need to fix this bug on XP and Windows 2000, no matter what their excuse. And I agree.

But thank you for pointing out that Microsoft is so thorough in their security updates that when they try to weasel out of one, the whole world takes note.

Actually, the weaseling is that XP doesn't have any listening services enabled by default. Any service with a listening service automatically creates a hole in the built-in firewall. If you have a firewall protecting your local network, then you can limit the attack to only computers on your local network. If XP is directly connected to the internet, then anyone can remotely crash the computer if you have file/printer-sharing or remote desktop enabled. The only reason this is less-than-critical is that you can only crash XP computers, not remotely control them.
 
No, I read the part you refer to saying there's no drivers!!!
I then read the bottom where they said despite the lack of drivers, there's no technical reason why MOST older cards can't support OpenCL.

Your article backs up my points 100%... thanks for the reference.

:rolleyes:

Most older cards? I guess there's no technical reason my abacus can't run OpenCL either.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.