Originally posted by: SunnyD
That's why both Nvidia and AMD along with Havok have demoed OpenCL-based software. Sure, these are technical previews, but I'd hardly say it doesn't exist. Developer support always starts well before the initial release, and I can attest to this with OpenCL directly.
For someone who complains about marketing so much, you are quick to fall for these technical previews.
This is all just marketing aswell. They make a simple demo, which may or may not actually run on OpenCL (nobody got to inspect either the sourcecode or the binaries, so what was ACTUALLY running, nobody knows). The point is to show what is possible with OpenCL, a preview. It's just to promote the OpenCL name, get people familiar with the concept.
It doesn't actually mean that they had a complete OpenCL implementation working yet. They may have had *just enough* functionality for that particular demo... Or they may actually not have had all the functionality, and replaced some of it with a custom-made alternative to fill-in-the-blanks for demoing purposes.
Heck, there are many examples of 'technical previews' where the actual technology never emerged, or things that were shown in a demo were never possible in practice. In other words, the demos were 'rigged'.
Originally posted by: SunnyD
Various demos seem to indicate otherwise. Personal experience indicates otherwise as well. But I don't expect you to take my word for it.
I know that nVidia has a compliance candidate driver.
Problem is, it's only for nVidia hardware, so how does that help ATi?
Besides, it's only available to registered developers.
In other words... If I were to post a binary with OpenCL on this forum, nobody other than registered nVidia developers would actually be able to run it. And they would be able to run Cuda anyway. So how does that help PhysX?
Originally posted by: SunnyD
OpenCL is indeed a replacement for CUDA. It's a compute API, same as CUDA is. The hardware is just hardware, it doesn't matter... the API is what matters.
Wrong.
I'll just repeat what I posted on the blog the other day:
Cuda is the name for the entire GPGPU framework (and they use it to refer to the hardware architecture aswell, at times). OpenCL is not a complete framework, but a programming language. Cuda's programming language is called C for Cuda.
OpenCL is very similar to C for Cuda, and OpenCL will also run on top of the Cuda framework, like C for Cuda does.
So Cuda in itself won't disappear, and will actually be an important part of making OpenCL work on nVidia's hardware. That's why nVidia can continue to promote Cuda all they want. And in a few months they will just say: "Now you can run OpenCL on Cuda too!".
See this page for more info:
http://www.nvidia.com/object/cuda_what_is.html
The first paragraph is a good summary:
"NVIDIA® CUDA? is a
general purpose parallel computing architecture that leverages the parallel compute engine in NVIDIA graphics processing units (GPUs) to solve many complex computational problems in a fraction of the time required on a CPU. It includes the
CUDA Instruction Set Architecture (ISA) and the parallel compute engine in the GPU. To program to the CUDATM architecture, developers can, today, use C, one of the most widely used high-level programming languages, which can then be run at great performance on a CUDATM enabled processor. Other languages will be supported in the future, including FORTRAN and C++."
Then when you go to their OpenCL page:
http://www.nvidia.com/object/cuda_opencl.html
"OpenCL? (Open Computing Language) is a new heterogeneous computing environment, that
runs on the CUDA architecture. It will allow developers to harness the massive parallel computing power of NVIDIA GPU?s to create compelling computing applications."
In other words, OpenCL is just going to be one of the languages you can use in the Cuda framework.
Originally posted by: SunnyD
(maybe the PS3?)
No it can't, the fact that you would even doubt that shows that you have no understanding of what Cuda is at all.
The PS3 can run PhysX with a special Cell implementation of the engine. But that has nothing to do with Cuda.
Originally posted by: SunnyD
Nvidia doesn't settle for being niche.
Ever heard of the nVidia Tesla range of products?
They are basically videocards without the video. The *only* thing they can do is run Cuda.
In fact, ATi thought this was such a good idea, that ATi also launched a FireStream line of products, same thing, but for ATi Stream rather than Cuda, obviously.