Diit.cz - Novinky a informace o hardware, software a internetu

Interview with Simon Green, nVidia

NVIDIA logo
Tak jako každý rok od léta páně 1992 se na Fakultě aplikovaných věd Západočeské univerzity konala každoroční mezinárodní konference o počítačové grafice, vizualizaci a počítačovém vidění (dříve „Zimní škola počítačové grafiky“, odtud stále platné označení WSCG). Letošní, již 17. ročník jsme na jeden den (ze čtyř, ve kterých se konference konala) navštívili, abychom nejen nasáli atmosféru univerzitních prostor přeplněných mozky z celého světa, ale také si popovídali s lidmi z nVidie, mimo jiné se Simonem Greenem, který na konferenci přiletěl prezentovat GPGPU architekturu CUDA.

Kapitoly článků

1.  O konferenci
5.  Interview with Simon Green, nVidia

WSCG 2009 na FAV ZČU: prof. Václav Skala a Simon Green

prof. Václav Skala and Simon Green

  • 1) Hi, first of all I would like to ask some basic questions. Where have you studied, how long have you been in nVidia, what is your current role in nVidia?

I studied Computer Science at Reading University in the United Kingdom. I've been at NVIDIA since 2000 (wow, that's a long time!). I started off as a programmer in the demo team at NVIDIA, where I worked on graphics demos like Wolfman, Dusk and the Dancing Ogre. My current role is as senior software engineer in the Developer Technology Group, where I work with external software developers to help them optimize their applications for the GPU, and come up with new algorithms that take advantage of the GPU hardware.

  • 2) What advantages and disadvantages do you see in CUDA in comparison with AMD Close to Metal/Stream, OpenCL and others? What would persuade the customer to buy GeForce because of CUDA instead of Radeon?

To be honest I'm not that familiar with AMD's solutions, but I think the biggest advantages of CUDA today are (1) that it's a stable and well established system (we've been shipping it for more than 2 years now), and (2) its ease of use, since it's based on the standard C programming language that most developers know already. More importantly, CUDA has proved itself by being used successfully by a wide variety of software developers to solve real problems, from Folding@Home and Badaboom to financial software and medical imaging. GPU accelerated PhysX (which is implemented using CUDA) is also a big advantage which is not available on other platforms.

  • 3) The performance in double-precision is much worse at the moment in comparison with single-precision. In view of that fact, do you plan some significant changes in next generation GPU architecture?

I can't say anything about future hardware, but we are always re-evaluating the costs and benefits of different GPU features. Double precision isn't really necessary for most consumer applications (such as games), so it doesn't make sense to add a lot of hardware that would be idle most of the time. That said I imagine that relative performance of double precision will probably increase over time.

  • 4) How much is the CUDA software layer currently optimized? Shall we look forward to significant speedup as we see it in games?

There might be some improvements in the CUDA driver (for example improved transfer speeds), but the performance of CUDA applications is largely a function of how well they are programmed, not driver optimizations.

  • 5) Does it exist, or do you plan an alternative to TWIMTBP for CUDA?

I'm not aware of a program like TWIMTBP for CUDA yet, but we do work very closely with CUDA developers in the same way we do with game developers.

  • 6) Taking into account the development of GPU in coming years, what kind of common tasks is generally appropriate for GPGPU and what kind is strongly inappropriate?

We don't pretend that the GPU is good at everything. GPUs are best suited to data parallel applications, that is, applications that work on large amounts of data in parallel. Fortunately, with the explosion in digital media and the Internet, there are a huge number of applications that fit into this category, such as image and video processing, game physics and data mining.

  • 7) We are in Czech Republic, does nVidia plans include some significant co-operation with universities, science academies or IT companies? Is it about to be created some kind of "CUDA Center of Excellence"? As we are sitting in FAV, what about some form of collaboration right here?

We do have an active university relations program, and I believe that teaching CUDA at universities is a good way of giving students hands-on experience with parallel programming. I have talked to some of the attendees here at the conference about collaborating on research projects.

  • 8) How difficult is to convert existing CUDA code to OpenCL? How much is the code mutually compatible? Are there any conversion tools, or are they planned? Or are there such a big differencies to rewrite the code from scratch?

The OpenCL API is very similar to the low-level CUDA driver API (and in fact was strongly influenced by it). If you look at the OpenCL and CUDA specifications you will see they are very similar. CUDA also offers a "runtime" API, which is higher level and makes things much easier for the programmer by integrating the CPU and GPU code and doing housekeeping like automatically transferring program parameters to the GPU etc.

The OpenCL language is in some ways more restrictive than CUDA, which can be programmed in ordinary C. This was done to make it easier to run on a large variety of hardware.

In my experience the main challenge in porting applications to the GPU is converting the algorithms to operate in a data parallel way. Once you've done that, porting from CUDA to OpenCL or DirectX 11 is relatively easy.

  • 9) Is CUDA computationally faster than OpenCL?

No, they both compile to the same hardware instruction set, so the performance will be equivalent. This is like asking if C is faster than Pascal (they're both about the same).

  • 10) What would make me use CUDA instead of OpenCL when much more makers will support OpenCL?

I imagine that OpenCL will be popular in consumer applications like image processing and video applications where portability is important.

I think that CUDA will continue to be popular in commercial and high performance computing, where reliability and support for Linux and clusters is important.

  • 11) The big advantage of OpenCL is the possibility to co-operate directly with OpenGL (compute and then display immediately). Is something like that possible with CUDA?

Yes, CUDA already offers graphics interoperability with OpenGL, and DirectX 9 / 10. This allows you generate image and geometry in CUDA and then render it directly without having to read data back to the CPU. Many of the samples in our SDK show this.

  • 12) Will CUDA be supported on a long-term basis, or do you plan to change to OpenCL/DirectX 11?

Yes, we plan to support CUDA on a long-term basis. We will fully support CUDA, OpenCL, DirectX 11 Compute, and whatever other interfaces may come along. It's really up to developers to choose which interface they want to use - each has it's own advantages and disadvantages.

One big advantage of CUDA for us is that since we control it, we can add features to it quickly when new hardware is released.

  • 13) Are there an insterresting pages about CUDA, preferably with tutorials? (probably question about something like Nehe OpenGL tutorials)

The CUDA FAQ has pointers to some good educational materials: http://forums.nvidia.com/index.php?showtopic=84440

  • 14) When will be renderer for 3Ds Max available (preferably GPU-using V-ray)? Will be better to buy ATI or nVidia card for that (either for CUDA or architecture/performance)?

Many developers of off-line renderers are looking at the GPU to accelerate their software. NVIDIA aquired Mental Images last year, who are the developers of the Mental Ray renderer which ships with Autodesk Maya and many other packages, so I wouldn't be surprised to see them shipping a GPU renderer soon. We also showed a demo of interactive ray tracing at Siggraph 2008.

  • 15) It is possible to use CUDA also for audio transcoding (preferably on-the-fly)? Are there some tools for that?

It's possible, but I haven't heard of anybody doing this yet. We did have a competition recently to GPU accelerate the LAME MP3 encoder, which had some success.

  • 16) When will we be able to utilize the new NvPVEnc.ax library or CUDA encoder in drivers, video editing programs as well as DivX/Xvid (question about GPU Dshow/VFW video codecs)? Tmpeg, Badaboom or PowerDirector forces the user fixed parameters of mainstream formats after all. Will this restriction of output video parameters fall?

I'm not that familiar with our video encoding solutions, but we're trying to expose as much of PureVideo as possible from CUDA. The format support is mainly up to the developers of the video software. There is no technical reason for there to be any restrictions.

  • 17) Are you considering writing a driver that would allow ATI Radeon to be primary card running 3D applications and nVidia GeForce running CUDA (or PhysX) simultaneously?

No, not as far as I know.

  • 18) And finally, some inevitable relaxing questions: How do you like beeing in Czech Rep., what about Pilsner (both in city and liquid form), Czech babes and Everything?

It is my first time in the Czech Republic and I've enjoyed it very much, especially the beer. I can't say I noticed many Czech women, but my girlfriend may read this so I have to say that!

Kapitoly článků
1.  O konferenci
5.  Interview with Simon Green, nVidia

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku S nVidií nejen o CUDA na mezinárodní grafické konferenci na FAV ZČU

Středa, 1 Duben 2009 - 13:58 | Erkil Poirot | No ale je takovy zvyk tady rikat ta FELka a na...
Pondělí, 30 Březen 2009 - 16:14 | Martin Bartoň | Vali: To záleží na tom, jestli si řekneš TEN FEL...
Pátek, 27 Březen 2009 - 20:45 | Anonym | Malinkatá lingvistická poznámka (netřeba mlátit...
Čtvrtek, 26 Březen 2009 - 18:44 | Anonym | Azazel: přece VUML, vole... :-)
Čtvrtek, 26 Březen 2009 - 17:05 | Anonym | neco: Jakou univerzitu si vystudoval ty? VŠE nebo...
Čtvrtek, 26 Březen 2009 - 14:23 | Anonym | Velmi pěkná reportáž :) Nějakou dobu jsem měl...
Čtvrtek, 26 Březen 2009 - 14:19 | kypec | No a pak na nej namisto slepic vybehne CUDA ;)
Čtvrtek, 26 Březen 2009 - 13:47 | Anonym | Vim o cem mluvim. Clovek jde po namesti a rika si...
Čtvrtek, 26 Březen 2009 - 13:34 | David Ježek | nějakej chytrej, na člověka s IP plzeňského...
Čtvrtek, 26 Březen 2009 - 13:16 | Anonym | Pekne zpracovana reportaz z jakesi univerzity v...

Zobrazit diskusi