nVidia to support OpenCL too

alg7_munif

Supreme [H]ardness
Joined
Oct 9, 2006
Messages
5,862
http://biz.yahoo.com/prnews/081208/aqm116.html?.v=61
NVIDIA Corporation today announced its full support for the newly released OpenCL 1.0 specification from the Khronos Group. OpenCL (Open Computing Language) is a new compute API that allows developers to harness the massive parallel computing power of the GPU. The addition of OpenCL is another major milestone in the GPU revolution that gives NVIDIA developers another powerful programming option.

Nice, now we have OpenCL that is supported by both AMD and nVidia.

http://biz.yahoo.com/bw/081208/20081208006480.html?.v=1
AMD is a founding and contributing member of the OpenCL working group in The Khronos Group, and has consistently been one of the most vocal and active proponents of the standard. AMD is committed to getting this valuable new technology into the hands of programmers as quickly as possible, and is rapidly evolving its free ATI Stream SDK to make it happen. AMD is making good progress on its OpenCL-compliant offering and plans to release a developer version of the ATI Stream SDK with support for OpenCL 1.0 for content developers in the first half of 2009. Working from early specifications of OpenCL, AMD’s engineering team has already started running code on its initial implementation.
 
Considering that engineers from AMD, Intel, and Nvidia help form the standard, having it supported in their development kit would be beneficial. However, Nvidia will still market CUDA (and AMD with Brook+/CAL) as being a more highly optimized programming layer and the standard for the Teslas. CUDA will find a niche in HPC or workstation environments but probably not in typical consumer products, which will opt towards the unified implementations (OpenCL/DX11).
 
Considering that engineers from AMD, Intel, and Nvidia help form the standard, having it supported in their development kit would be beneficial.
Yeah, I don't see why the OP is surprised. :p

OpenCL is still starting off from zero. It has two entrenched APIs to compete with, and a third API will appear with the release of DX11 next year. IMO fruits of OpenCL are years away, if it ever catches on.
 
DX11 isn't a threat at all. The vast majority of applications will have nothing to do with Microsoft or directX. Brook+ doesn't appear to have much traction at all.

On the surface OpenCL is very similar to CUDA so it will be interesting to see how Nvidia balances it's support for both. CUDA probably goes the way of the dodo eventually though as developers would much rather code in an open free cross platform API. But there's no doubt that nvidia has won a lot of mindshare and first mover cred with CUDA.
 
OpenCL is still starting off from zero. It has two entrenched APIs to compete with, and a third API will appear with the release of DX11 next year. IMO fruits of OpenCL are years away, if it ever catches on.

CUDA and Brook+ aren't all that far from zero themselves - other than a few installations in the academic world there isn't much acceptance for either platform. Future revisions of OpenCL will bridge the gap between what the proprietary APIs and it can do so any benefit to using the closed solutions will diminish quickly.

As far as seeing the fruits of OpenCL, that will happen immediately in certain segments such as video encoding. AMD has been working with various software developers to help them get software out as quickly as possible.
 
DX11 isn't a threat at all. The vast majority of applications will have nothing to do with Microsoft or directX.
Even OpenGL games use DX for input and sound. A standardized interface is better than nothing, and in case you haven't heard, Windows has around a 95% share of installed desktop OSs. :p It will be used under Windows, at least as an alternative to the few Brook+ holdouts who are sick of how fragile it is.

CUDA and Brook+ aren't all that far from zero themselves - other than a few installations in the academic world there isn't much acceptance for either platform.
There are hundreds of publicly available CUDA applications (and likely many more in-house projects), and it's the primary API course offered in universities, taken by thousands of students already. The market for GPU parallel processing is small and CUDA has the lion's share of support. It is nowhere near an even start when OpenCL has an implementation released. OpenCL will have a lot of ground to make up, which is why I have doubts if it will catch on.
 
What I like about OpenCL is that it'll be supported by all major GPU manufacturers (heck, even S3 is onboard), and that it's more low-level than CUDA. Low-level is good :)

CUDA will probably be aimed at 'n00bs' and intermediate programmers (GPGPU), while OpenCL will be used more to optimize the heck out of things by advanced programmers. Not a bad setup.
 
The fact that the major vendors are all on board is what will make open CL. that was the problem with CUDA, way too bound to Nvidia hardware.
 
What I like about OpenCL is that it'll be supported by all major GPU manufacturers (heck, even S3 is onboard), and that it's more low-level than CUDA. Low-level is good :)

CUDA will probably be aimed at 'n00bs' and intermediate programmers (GPGPU), while OpenCL will be used more to optimize the heck out of things by advanced programmers. Not a bad setup.
CUDA has low level and high level Interfaces. I'll take your second statement in light of your misunderstanding of what CUDA is. :p BTW, CUDA is used in the highest end GPGPU applications, including oil exploration and financial modeling. I'm sorry to say there is really no 'n00b' level of parallel programming, at least for anything that does something useful at least semi-efficiently.
 
CUDA has low level and high level Interfaces. I'll take your second statement in light of your misunderstanding of what CUDA is. :p BTW, CUDA is used in the highest end GPGPU applications, including oil exploration and financial modeling. I'm sorry to say there is really no 'n00b' level of parallel programming, at least for anything that does something useful at least semi-efficiently.

Seems I've been misled by previous comments elsewhere, it appears :)

And I put n00bs between ' ' because I'm well aware that it's not for the faint of heart. Together with a colleague I've done some T&L custom programming to run non-graphics apps before (try that for low-level), so I have an idea of the difficulties involved. Worst thing really was that the compiler never gave any errors, let alone during run-time... if it returned with a fault state you only knew 'something went wrong', which is immensely useful :p

I hope OpenCL/CUDA is a bit more friendly in that respect.
 
It's going to be interesting to see where this is going :cool:
ecstatic.gif
 
Even OpenGL games use DX for input and sound. A standardized interface is better than nothing, and in case you haven't heard, Windows has around a 95% share of installed desktop OSs. :p It will be used under Windows, at least as an alternative to the few Brook+ holdouts who are sick of how fragile it is.

OpenGL games don't use DX for input or sound. Hell, DirectX games don't even use DX for sound.

OpenCL will probably be used more than DirectX 11 since I'm better a fair number of the OpenCL apps will run under Linux or other *nix systems (server/mainframes and the like).
 
OpenGL games don't use DX for input or sound. Hell, DirectX games don't even use DX for sound.
You seem to be confused. On Windows, most commercial OGL games use DX for input and/or sound. Pick up any of your OGL game boxes and look at the system requirements. You'll see "DirectX Compatible sound card" under requirements on almost all modern Windows games, DX or OGL.
----

http://www.khronos.org/opencl/presentations/OpenCL_Summary_Nov08.pdf Waffles. It looks a lot like CUDA. Start reading the overview on page 14. No wonder the "new standard" was made so quickly. :D
 
You seem to be confused. On Windows, most commercial OGL games use DX for input and/or sound. Pick up any of your OGL game boxes and look at the system requirements. You'll see "DirectX Compatible sound card" under requirements on almost all modern Windows games, DX or OGL.

Nope, I'm not. Games that use OpenAL and EAX (Like Quake 4) still say "DirectX Compatible sound card". Doesn't mean they use DirectSound.
 
Nope, I'm not. Games that use OpenAL and EAX (Like Quake 4) still say "DirectX Compatible sound card". Doesn't mean they use DirectSound.

Quite correct.

The thing is that on Vista (and on the upcoming Windows 7), DirectSound is limited to stereo sound with no hardware effects due to the redesigned sound system. This has forced game developers to use OpenAL to still directly access the sound hardware.

Also, DirectInput has been part of the OS (outside DX) for a while now. Effectively this means that only D3D remains as truly functional part of the DirectX collection.
 
Quite correct.
Actually, quite incorrect. :p

OpenAL is a layer on top of the host OS sound (DirectSound on Windows, CoreAudio on Mac, etc.), which is why a DirectSound compatible sound card is required even for Windows OpenAL games. :p
 
Is that right? I thought directsound was removed and all basic windows was just done through software rather than any interaction between the sound cards driver and an intermediate layer.

However, to say that companies were forced into using openal i think is incorrect, many companies had already started using it before vista was released, true they may have seen it coming but it was a lot to do with creative themselves pushing it as it meant it was easier to manage and develop than EAX.

Someone correct me if i am wrong.( I am sure they will)
 
Actually, quite incorrect. :p

OpenAL is a layer on top of the host OS sound (DirectSound on Windows, CoreAudio on Mac, etc.), which is why a DirectSound compatible sound card is required even for Windows OpenAL games. :p

Actually that is totally false. DirectSound is a high-level layer and has nothing to do with the low-level parts implementing the actual sound architecture:

The higher level APIs such as the Wavexxx APIs and DirectSound use shared mode, which results in pre-mixed PCM audio that is sent to the driver in a single format (in terms of sample rate, bit depth and channel count). This format is configurable by the end user through Control Panel.

After passing through WASAPI, all host based audio processing including custom audio processing can take place (sample rate conversion, mixing, effects). Host based processing modules are referred to as Audio Processing Objects, or APOs. All these components operate in user mode. The only portion of this architecture that runs in kernel mode is the audio driver (which contains the Port Class driver, the vendor Miniport driver and the vendor HAL). The Windows Kernel Mixer (KMixer) is completely gone. There is no direct path from DirectSound to the audio drivers, DirectSound and MME are emulated as Session instances. Since the whole point of DirectSound acceleration is to allow hardware to process unmixed audio content, DirectSound cannot be accelerated in this audio model. APIs such as ASIO and OpenAL are not affected.
(emphasis added)
Source: http://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vista#Audio_stack_architecture

Another article: http://pc.ign.com/articles/759/759538p1.html
 
Actually that is totally false.
C'mon already. OpenAL only has a native interface on Creative Audigy (some) and Xi-Fi cards (and licensed other models), now a tiny fraction of the market. For other sound cards, it is a layer above the *DirectSound compatible driver for the sound card* on Windows. Believe it or not, the system requirements on the game boxes are accurate.

Whether DS/DS3D is hardware accelerated doesn't matter. I don't get why you brought that up. OpenAL on most cards (excluding native models mentioned above) won't be hardware accelerated under Vista either unless the sound card driver (you know, the directsound compatible one) has a native interface.

If you still don't believe it, rename your ds*.dll driver files and try to run a OpenAL game under Windows (excluding native models mentioned above). :p You won't get very far. I have a feeling it may also affect the creative cards since those libraries are also used for enumerating sound devices and capabilities... hence *OpenAL games still use ds*, the whole point of this pointless sub-topic. :p :rolleyes:
 
C'mon already. OpenAL only has a native interface on Creative Audigy (some) and Xi-Fi cards (and licensed other models), now a tiny fraction of the market. For other sound cards, it is a layer above the *DirectSound compatible driver for the sound card* on Windows. Believe it or not, the system requirements on the game boxes are accurate.

Whether DS/DS3D is hardware accelerated doesn't matter. I don't get why you brought that up. OpenAL on most cards (excluding native models mentioned above) won't be hardware accelerated under Vista either unless the sound card driver (you know, the directsound compatible one) has a native interface.

If you still don't believe it, rename your ds*.dll driver files and try to run a OpenAL game under Windows (excluding native models mentioned above). :p You won't get very far. I have a feeling it may also affect the creative cards since those libraries are also used for enumerating sound devices and capabilities... hence *OpenAL games still use ds*, the whole point of this pointless sub-topic. :p :rolleyes:

Oh sure, you need a soundcard driver which supports OpenAL. Anyone who has a relatively new soundcard should have this support built in. Which makes it an OpenAL-compatible soundcard. Having a DS-compatible soundcard is meaningless as it'll only get you stereo sound at most.

OpenAL is the future ;)
 
Well, generally when creative wants something done in the pc market, like it or not it happens.
 
C'mon already. OpenAL only has a native interface on Creative Audigy (some) and Xi-Fi cards (and licensed other models), now a tiny fraction of the market. For other sound cards, it is a layer above the *DirectSound compatible driver for the sound card* on Windows. Believe it or not, the system requirements on the game boxes are accurate.

No. DirectSound is never used in OpenAL. If the driver doesn't support OpenAL, it will fall back to the host API. Which on Windows is *not* DirectSound. OpenAL will fall back to the same layer as DirectSound would - sitting right on top of the host's native audio
 
Back
Top