Home  |  News  |  Reviews  | About Search :  HardWare.fr 



  Processors

  Motherboards

  Graphic Cards

  Multimedia

  Storage

  Imaging

  Monitors

  Miscellaneous
Advertise on BeHardware.com
Review index:
Nvidia CUDA: preview
by Damien Triolet
Published on March 21, 2007

Conclusion
This first look at CUDA was relatively enjoyable. We say this because we were surprised by how easy access was to the GeForce 8800 calculation units. Of course, this judgment has to be put into perspective because it is something to run a couple of functions on a GPU and it is something else to do it efficiently.

We decided to adapt (almost completely) a basic version of Pacman written in C for the GPU. A couple of hours were required to have a functional code (even if it had a rather average performance and was approximate). The objective was to observe how easily it was possible to start working with CUDA. This was a success and CUDA isn't only reserved to Nvidia's engineers and a couple of researchers unlike AMD's current solution. Even if we do not have access to CTM, available documentation made us quickly realize how difficult it would be to adapt the same code. This is a something we would have quickly given up on even if we would have had access to the CTM.


This said, fully exploiting a GPU such as the GeForce 8800 with CUDA isn't easy, and is far from it. Deeply optimizing the code is complex whatever the method. From a certain level of efficiency, it is likely that CTM takes the lead, but probably at the expense of a much longer programming time.

If, in the beginning, our preference went to AMD's approach, which gives the possibility to get to know the GPU in detail and exploit it more efficiently (in theory at least), as our analysis of CUDA and CTM went by, we changed our opinion. This was because of the complexity of the CTM. With identical programming time, CUDA will certainly provide better results; and another important reason is that we realized that the gap between the calculation power of GPUs and CPUs isn't as gigantic as we could have thought. Don't get us wrong, G80 is a very powerful piece of silicon, but CPUs have also progressed consequently with the successive releases of dual core and then quad core. G80's calculation power is much higher, this is a fact, but it isn't a factor of 20 or 100. Ten times the power is barely reached and this doesn't even take into account the lesser efficiency in practice. Of course, in certain situations, the GPU might increase the gap, but overall we believe it doesn't provide enough extra performance room and efficiency yet to justify its disadvantages.

That being said, this first implementation of Nvidia's new architecture appears to us to be a great start for the development of practical applications. GeForce 8800 with CUDA is currently the best GPGPU solution on the market. We think that if GPUs make their way as calculation units in different domains (besides a couple of exceptions), future GPUs will be used as final products. Development takes time and developers need to start working on it now. Unlike CTM, the strength of CUDA is not to be specific to a single GPU and to allow the development of applications that will be compatible with the GPUs of the next generations. Nvidia recommends that developers aim for the process of 100 or 1000 blocks instead of the 32 for the GeForce 8800 GTX in order to directly benefit from future generations. This gives us an idea of future evolutions…


Of course, nothing is fully black or white and CUDA also partly relies on GPU specific details. It actually reports these details and the GeForce 8800 represents the 1.0 computing resources. Future GPUs in version 1.1, for example, could be able to support double precision floating point calculations (FP64) or different memories and this could seriously affect the method of optimizing the code. Nevertheless, it will remain functional, via recompilation if necessary.

From our point of view, the success of the utilization of GPUs as calculation units will rely first of all on their ability to continue to evolve faster than CPUs and to create a market before the number one on the processor market, Intel, releases massive multicore pieces of silicon. After that, it will probably be too late.

For simple users, like us, all of this will not be of great importance at least in the short term. There will be plenty of time before the release of relevant applications. As for the possibility to use CUDA to process physics effects in games, we do not think this will happen anytime soon. Developers already have a lot of work to do to exploit multicore CPUs.


For more information:

CUDA : http://developer.nvidia.com/object/cuda.html
CTM : http://ati.amd.com/companyinfo/researcher/Documents.html

<< Previous page
In practice

Page index
1 | 2 | 3 | 4 | 5 | 6




Autre articles dans le même thême
Product review: The Nvidia GeForce GTX 280 & 260 Our take on 3DMark Vantage… Report : tri and quad GPU systems Test :Nvidia GeForce 9800 GTX
Product review: The Nvidia GeForce GTX 280 & 260 Our take on 3DMark Vantage… Report : tri and quad GPU systems Test :Nvidia GeForce 9800 GTX

Copyright © 1997- Hardware.fr SARL. All rights reserved.
Read our privacy guidelines.