Tuesday, December 9th 2008
NVIDIA Announces Full Support For OpenCL 1.0
NVIDIA Corporation 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.
NVIDIA kicked off the GPU computing revolution with the introduction of NVIDIA CUDA, its massively parallel computing ISA and hardware architecture. CUDA was designed to natively support all parallel computing interfaces and will seamlessly run OpenCL. Enabled on over 100 million NVIDIA GPUs, CUDA has unleashed unprecedented performance boosts across a wide range of applications and provides a huge installed base for the deployment of compute applications using OpenCL. With support for other industry standard languages such as C, Java, Fortran and Python, only the CUDA architecture provides developers with a choice of programming environments to aid the rapid development of compute applications on the GPU.
First introduced with the NVIDIA GeForce 8800 GPU and standard across all NVIDIA's modern GPUs, CUDA is the foundation of NVIDIA's parallel computing strategy. CUDA has had a tremendous reception from the world's research community with scientists seeing up to a 20-200x speed-up in their applications with CUDA over a CPU. The CUDA architecture is being built into a wide range of computing systems from supercomputers and workstations to consumer PCs, enabling more than 25,000 developers to actively develop on CUDA today.
"The arrival of OpenCL is fabulous news for the computing industry and NVIDIA is delighted to be playing a highly active role in the establishment of a new standard that promotes computing on the GPU," said Manju Hegde, general manager of CUDA at NVIDIA. "We are delighted that Apple has helped spearhead OpenCL. Their recognition that the GPU will now play an essential role in consumer applications is a significant milestone in the history of computing."
Vice president of embedded content at NVIDIA, Neil Trevett also holds the position of chair of the OpenCL working group at Khronos.
"The OpenCL specification is a result of a clearly recognized opportunity from leaders like NVIDIA to grow the total market for heterogeneous parallel computing through an open, cross-platform standard," said Trevett. "NVIDIA will continue to be very active in the OpenCL working group to drive the evolution of the specification and will support OpenCL on all its platforms, providing developers an additional way to tap into the awesome computational power of our GPUs."
Source:
NVIDIA
NVIDIA kicked off the GPU computing revolution with the introduction of NVIDIA CUDA, its massively parallel computing ISA and hardware architecture. CUDA was designed to natively support all parallel computing interfaces and will seamlessly run OpenCL. Enabled on over 100 million NVIDIA GPUs, CUDA has unleashed unprecedented performance boosts across a wide range of applications and provides a huge installed base for the deployment of compute applications using OpenCL. With support for other industry standard languages such as C, Java, Fortran and Python, only the CUDA architecture provides developers with a choice of programming environments to aid the rapid development of compute applications on the GPU.
First introduced with the NVIDIA GeForce 8800 GPU and standard across all NVIDIA's modern GPUs, CUDA is the foundation of NVIDIA's parallel computing strategy. CUDA has had a tremendous reception from the world's research community with scientists seeing up to a 20-200x speed-up in their applications with CUDA over a CPU. The CUDA architecture is being built into a wide range of computing systems from supercomputers and workstations to consumer PCs, enabling more than 25,000 developers to actively develop on CUDA today.
"The arrival of OpenCL is fabulous news for the computing industry and NVIDIA is delighted to be playing a highly active role in the establishment of a new standard that promotes computing on the GPU," said Manju Hegde, general manager of CUDA at NVIDIA. "We are delighted that Apple has helped spearhead OpenCL. Their recognition that the GPU will now play an essential role in consumer applications is a significant milestone in the history of computing."
Vice president of embedded content at NVIDIA, Neil Trevett also holds the position of chair of the OpenCL working group at Khronos.
"The OpenCL specification is a result of a clearly recognized opportunity from leaders like NVIDIA to grow the total market for heterogeneous parallel computing through an open, cross-platform standard," said Trevett. "NVIDIA will continue to be very active in the OpenCL working group to drive the evolution of the specification and will support OpenCL on all its platforms, providing developers an additional way to tap into the awesome computational power of our GPUs."
20 Comments on NVIDIA Announces Full Support For OpenCL 1.0
www.khronos.org/opencl/
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.
OpenCL supports a wide range of applications, from embedded and consumer software to HPC solutions, through a low-level, high-performance, portable abstraction. By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications.
OpenCL is being created by the Khronos Group with the participation of many industry-leading companies and institutions including 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel, Imagination Technologies, Kestrel Institute, Motorola, Movidia, Nokia, NVIDIA, QNX, RapidMind, Samsung, Seaweed, Takumi, Texas Instruments and Umeå University.
Which has a faster build runtime? (OpenCL or CUDA)
I'd love to see some benchmarks, ie. some algorithm, maybe even SuperPI in x86 vs. OpenCL vs. CUDA.
Now OpenCL should improve upon that, but speaking about raw performance I expect CUDA/Stream to be inherently slightly faster as they would be a little bit better suited to the hardware they'd be running. BUT by the simple fact that an open standard (usually) means more people will be interested in programing with it, probably OpenCL will be faster after a while. How polished the software usually weighs more than how fast an API is. Take game engines as the best example, D3D is the same for all...
EDIT: Just a comment, a little bit off-topic but noteworthy IMHO: The GPU wars and fan flaming is just reaching absurd levels on TPU forums. Nowhere he said Nvidia was the only one, nor he suggested Nvidia was developing it. He just said he loves Nvidia because it's always on something new, and face it, IT IS. They are not the only ones, but they are there, they are in PhysX too and many other places. AGAIN no one is suggesting they are the only ones, but they are everywhere nowadays and the simple fact that the guy loves them because of that is no reason to flame him. It's not as if he said Ati sucks or anything, he didn't, I don't even read anything between lines. There's nothing there.
The second part of your question is hard to say right now. That's something we will have to wait and see. Once we start seeing more developers use it will know the answer to that. As it stands, anything new like this will require some "break in" time IMO.
There was suppose to be a superPI program based on cuda but it never materialized. If it did, I am not aware of it's use at this time.
So far it looks like Nvidia will use Cuda to run OpenCL while ATI will use a compliant compiler and runtime into its SDK.
I wonder if this means more game support for Apple based computers once use?
IMHO Brook+ = CUDA = Stream with very slight differences between them to have something to support the idea that the solution is theirs.
Now if you are talking about games... that won't happen.