lowenz
17-02-2007, 11:01
Nvidia ha rilasciato il kit di CUDA per tutti, unico requisito per usarlo è conoscere un po' il C!
->http://developer.nvidia.com/object/cuda.html
----------------------------------------------------------------------------------
http://www.winbeta.org/comments.php?shownews=6195
Nvidia today released the first public beta of its CUDA, software developer kit, which so far has only been available to a limited number of developers. The company promises that the software will allow full access to the 128/96 cores of GeForce 8800 graphics cards and leverage their floating point capability, not only for graphics, but other applications that rely on number crunching performance as well.
The technology is compatible with 8800-series graphics cards, which are estimated to achieve a peak performance of about 520 GFlops, allowing consumers to build a teraflop system using Nvidia's SLI bridge. Andy Keane, general manager of professional products at Nvidia, told TG Daily that the CUDA kit is available to anyone interested, but it will take the knowledge of an "educated programmer" to tap the potential of the card. "Casual programming know-how won't be enough," Keane said. The technology is based on C-language and comes with what Nvidia claims is the first C compiler for the GPU.
Nvidia explained that CUDA "transcends the limitations of traditional GPU stream computing by extending the function of the GPU to address a wide range of mathematically-intensive problems." Mainstream applications aren't quite ready to take advantage of this additional horsepower, but according to Keane, CUDA may help to accelerate seismic model applications, financial model processing as well as fluid dynamics. He also imagines that graphics cards could simulate neuron cells, the behavior of cellphone waves and enable breakthroughs in the medical field: For example, the technology could pave the way to real-time x-rays, assisting doctors in what may soon be knows as 3D surgery. "There are applications that required one day to complete one task. We can do that now in 15 minutes, Keane said."
However, before CUDA and graphics will be able to enter the supercomputing space, there are still some hurdles the company has to take. Compared, for example, to traditional floating point accelerators such as Clearspeed's CSX600 boards, graphics cards are running on 32-bit and not 64-bit, providing only single-precision data capability - instead of the required double-precision capability. This limitation is also present in Intel's recently unveiled teraflop processor project. Keane told TG Daily that Nvidia graphics cards scheduled to launch later this year will go 64-bit and offer the double-precision feature.
----------------------------------------------------------------------------------
http://www.betanews.com/article/Coopting_GPU_for_CPU_Tasks_Advanced_by_NVidia/1171654237
Today, the company announced its first C compiler - part of the CUDA SDK, which will enable scientific application developers for the first time to develop stand-alone libraries that are executed by the graphics processor, through function calls placed in standard applications run on the central processor.
NVidia's objective is to exploit an untapped reservoir on users' desktops and notebooks. While multi-core architecture has driven parallelism in computing into the mainstream, multi-pipeline architecture should theoretically catapult it into the stratosphere. But applications today are naturally written to be executed by the CPU, so any GPU-driven parallelism that's going to happen in programming must be evangelized first.
Which is why the company has chosen now to make its next CUDA push, a few weeks prior to the Game Developers' Conference in San Francisco. The greatest single repository of craftspersons among developers may be in the gaming field, so even though games already occupy the greater part of the GPU's work time, it's here where a concept such as CUDA can attract the most interest.
"The GPU is specialized for compute-intensive, highly parallel computation - exactly what graphics rendering is about," reads nVidia's latest CUDA programming guide (PDF available here), "and therefore is designed such that more transistors are devoted to data processing rather than data caching and flow control."
Huge arithmetic operations may be best suited to GPU execution, nVidia engineers believe, because they don't require the attention of all the CPU's built-in, microcoded functions for flow control and caching. "Because the same program is executed for each data element," reads the CUDA v. 0.8 guide, "there is a lower requirement for sophisticated flow control; and because it is executed on many data elements and has high arithmetic intensity, the memory access latency can be hidden with calculations instead of big data caches."
For CUDA to actually work, however, a computer must be set up with an exclusive NVidia display driver; CUDA is not an intrinsic part of ForceWare, at least not yet. In addition, programs must be explicitly written to support CUDA's libraries and custom driver; it doesn't enable the GPU to serve as a "supercharger" for existing applications. Because the GPU is such a different machine, there's no way for it to take a load off the CPU's shoulder's directly, like an old Intel 8087 or 80186 co-processor used to do.
So an application that supports CUDA thus, by definition, supports nVidia. AMD also has its own plans for co-opting GPU power, which it made immediately clear after its acquisition of ATI.
The CUDA programming guide demonstrates how developers can re-imagine a math-intense problem as being delegated to processing elements in a 2D block, like bestowing assignments upon a regiment of soldiers lined up in formation. Blocks and threads are delegated and proportioned, the way they would normally be if they were being instructed to render and shade multi-polygon objects. Memory on-board the GPU is then allocated using C-library derivatives of common functions, such as cudaMalloc() for allocating blocks of memory with the proper dimensions, and cudaMemcpy() for transferring data into those blocks. It then demonstrates how massive calculations that would require considerable thread allocation on a CPU are handled by the GPU as matrices.
"This complete development environment," read an nVidia statement this morning, "gives developers the tools they need to solve new problems in computation-intensive applications such as product design, data analysis, technical computing, and game physics."
->http://developer.nvidia.com/object/cuda.html
----------------------------------------------------------------------------------
http://www.winbeta.org/comments.php?shownews=6195
Nvidia today released the first public beta of its CUDA, software developer kit, which so far has only been available to a limited number of developers. The company promises that the software will allow full access to the 128/96 cores of GeForce 8800 graphics cards and leverage their floating point capability, not only for graphics, but other applications that rely on number crunching performance as well.
The technology is compatible with 8800-series graphics cards, which are estimated to achieve a peak performance of about 520 GFlops, allowing consumers to build a teraflop system using Nvidia's SLI bridge. Andy Keane, general manager of professional products at Nvidia, told TG Daily that the CUDA kit is available to anyone interested, but it will take the knowledge of an "educated programmer" to tap the potential of the card. "Casual programming know-how won't be enough," Keane said. The technology is based on C-language and comes with what Nvidia claims is the first C compiler for the GPU.
Nvidia explained that CUDA "transcends the limitations of traditional GPU stream computing by extending the function of the GPU to address a wide range of mathematically-intensive problems." Mainstream applications aren't quite ready to take advantage of this additional horsepower, but according to Keane, CUDA may help to accelerate seismic model applications, financial model processing as well as fluid dynamics. He also imagines that graphics cards could simulate neuron cells, the behavior of cellphone waves and enable breakthroughs in the medical field: For example, the technology could pave the way to real-time x-rays, assisting doctors in what may soon be knows as 3D surgery. "There are applications that required one day to complete one task. We can do that now in 15 minutes, Keane said."
However, before CUDA and graphics will be able to enter the supercomputing space, there are still some hurdles the company has to take. Compared, for example, to traditional floating point accelerators such as Clearspeed's CSX600 boards, graphics cards are running on 32-bit and not 64-bit, providing only single-precision data capability - instead of the required double-precision capability. This limitation is also present in Intel's recently unveiled teraflop processor project. Keane told TG Daily that Nvidia graphics cards scheduled to launch later this year will go 64-bit and offer the double-precision feature.
----------------------------------------------------------------------------------
http://www.betanews.com/article/Coopting_GPU_for_CPU_Tasks_Advanced_by_NVidia/1171654237
Today, the company announced its first C compiler - part of the CUDA SDK, which will enable scientific application developers for the first time to develop stand-alone libraries that are executed by the graphics processor, through function calls placed in standard applications run on the central processor.
NVidia's objective is to exploit an untapped reservoir on users' desktops and notebooks. While multi-core architecture has driven parallelism in computing into the mainstream, multi-pipeline architecture should theoretically catapult it into the stratosphere. But applications today are naturally written to be executed by the CPU, so any GPU-driven parallelism that's going to happen in programming must be evangelized first.
Which is why the company has chosen now to make its next CUDA push, a few weeks prior to the Game Developers' Conference in San Francisco. The greatest single repository of craftspersons among developers may be in the gaming field, so even though games already occupy the greater part of the GPU's work time, it's here where a concept such as CUDA can attract the most interest.
"The GPU is specialized for compute-intensive, highly parallel computation - exactly what graphics rendering is about," reads nVidia's latest CUDA programming guide (PDF available here), "and therefore is designed such that more transistors are devoted to data processing rather than data caching and flow control."
Huge arithmetic operations may be best suited to GPU execution, nVidia engineers believe, because they don't require the attention of all the CPU's built-in, microcoded functions for flow control and caching. "Because the same program is executed for each data element," reads the CUDA v. 0.8 guide, "there is a lower requirement for sophisticated flow control; and because it is executed on many data elements and has high arithmetic intensity, the memory access latency can be hidden with calculations instead of big data caches."
For CUDA to actually work, however, a computer must be set up with an exclusive NVidia display driver; CUDA is not an intrinsic part of ForceWare, at least not yet. In addition, programs must be explicitly written to support CUDA's libraries and custom driver; it doesn't enable the GPU to serve as a "supercharger" for existing applications. Because the GPU is such a different machine, there's no way for it to take a load off the CPU's shoulder's directly, like an old Intel 8087 or 80186 co-processor used to do.
So an application that supports CUDA thus, by definition, supports nVidia. AMD also has its own plans for co-opting GPU power, which it made immediately clear after its acquisition of ATI.
The CUDA programming guide demonstrates how developers can re-imagine a math-intense problem as being delegated to processing elements in a 2D block, like bestowing assignments upon a regiment of soldiers lined up in formation. Blocks and threads are delegated and proportioned, the way they would normally be if they were being instructed to render and shade multi-polygon objects. Memory on-board the GPU is then allocated using C-library derivatives of common functions, such as cudaMalloc() for allocating blocks of memory with the proper dimensions, and cudaMemcpy() for transferring data into those blocks. It then demonstrates how massive calculations that would require considerable thread allocation on a CPU are handled by the GPU as matrices.
"This complete development environment," read an nVidia statement this morning, "gives developers the tools they need to solve new problems in computation-intensive applications such as product design, data analysis, technical computing, and game physics."