NEWS         TESTS         INTERVIEWS         DOSSIERS         GALLERY 3D         3D SITES
 Q&A David Bucciarelli
OpenCL, SmallptGPU, SmallLuxGPU.
Feb. 2010
 

Rendering engines can not ignore GPU computing. This doesn't mean we will stop using our CPUs. Rendering engines will have instead to take advantage of both worlds. It is wrong to look for a CPU Vs GPU "war"; we need instead to take advantage of the new CPU+GPU scenario.

 

Q1 Please give a brief description of your activities in the field of 3D.
A1 I wrote my first program for drawing a 3D wireframe model on a Commodore VIC20 when I was 11. I love about every aspect of computer graphics since than. My first work was in the the field of VirtualReality at one of robotic laboratories of "Scuola Superiore S.Anna" at Pisa University.
In the same period I started work also on my first open source project: a Mesa (i.e. OpenGL) driver based on Glide for 3Dfx cards. It was a successful project and it was used in many applications including the Linux version of Quake. I remember that period with great pleasure and reading "David Bucciarelli wrote and maintained the 3Dfx Glide driver. Thousands of Linux/Quake players thank David!" still make me smile.
I'm actually working in the field of telecommunications and I'm one of the developer at http://www.luxrender.net in my free time. Since the release of OpenCL, I have developed few small demo like SmallptGPU and SmallLuxGPU.
   
Q2 You are famous for your works on GPU computing. What makes GPU interesting for other purpose than rasterization (z-buffer rendering)?
A2 Their unmatched floating point performance/price ratio. Modern GPUs can offer unparalleled floating point performances at a low price thanks to the high GPU demand in the entertainment market.
   
Q3 SmallptCPU and SmallptGPU are two programs that help comparing the performances of CPU and GPU. At the same given quality what is the benefit of using a GPU for raytracing?
A3

Raytracing has ever been one of the most power angry application and one of the most easy to parallelize too. GPUs offer both high performances and require an high level of parallelism. It looks like a perfect marriage.

   
Q4 Are GPU even faster than multi-core CPU?
A4

Yes and no. There are application fields where GPGPUs [http://www.gpgpu.org] can solve problems several time faster than any CPU. But there also problems where CPUs are several time faster than GPUs.
GPUs use a quite peculiar way to work: they are not particular fast to execute a task however they can perform a same task on thousand of data at the same time (i.e. SIMD architecture). GPU is going to be faster than a multi-core CPU if and only if you can find a way to express the solution to your problem in term of single operations to apply to multiple data (i.e. data parallel model).

   
Q5 You have also developed SmallLuxGPU : it gives the opportunity of rendering 3D scenes using GPU ressources. Are GPU the future of rendering engine? What gain of time can 3D artist expect?
A5

For sure, rendering engines can not ignore GPU computing. This doesn't mean we will stop using our CPUs. Rendering engines will have instead to take advantage of both worlds. It is wrong to look for a CPU Vs GPU "war"; we need instead to take advantage of the new CPU+GPU scenario.
This will great improve the tools available for 3D artists by increasing the level of interactivity , the responsiveness and shortening the rendering times by an order of magnitude.

   
Q6 As a developer, what do you think of GPU programming. It's considering to be specific and hard to develop on this platform?
A6

It is extremely challenging but highly rewarding too. We are still in an early stage of the development of the drivers and tools for GPU computing. I'm very often facing compiler crashes, driver bugs and interoperability problems between different vendors.
However the reward is an level of performance never seen before: it is worth the effort.

   
Q7 Most of today's projects of GPU rendering is based on Cuda (vRay, mental ray), is OpenCL slower? What is your point of view about OpenCL vs Cuda? AMD vs nVidia in the field of GPU computing?
A7

OpenCL is younger than CUDA and, as any technology in an early stage of its development, suffers of typical problems like driver bugs, missing tools, not optimized implementations, etc. However CUDA is a proprietary API. A proprietary API is an advantage for the vendor, not for the users or developers.
If I have an option I will always choose an open standard, both as user and as developer. NVIDIA has been a precursor in the field GPGPUs. New Fermi architecture has been presented more like new GPU computing processor than a GPU for the 3D entertainment market.
However Fermi is a bit late while AMD HD5xx family is available since September. I have both AMD and NVIDIA GPUs and it looks like AMD is putting more effort on OpenCL support too.

   
Q8 nVidia is announcing that CUDA can speed up C++ applications up to x100? Do you believe it's true?
A8 MandelGPU [http://davibu.interfree.it/opencl/mandelgpu/mandelGPU.html] has been my very first test with OpenCL and it was running 61 time faster on my GPU than my CPU. However there are other problems where a CPU can easy outperform GPU too. Developing an application that feet the requirement of a GPU architecture is hard, complex and time consuming (i.e. expansive). GPUs are not the answer to all computational problems however they really shine on some.
   
Q9  What are your next projects in the field of 3D?
A9 LuxrenderGPU :
- http://www.luxrender.net/wiki/index.php?title=Luxrender_and_OpenCL#LuxrenderGPU
- http://www.luxrender.net/wiki/index.php?title=Image:LuxrenderGPU-first-rendering.jpg and
Luxrays
- http://www.luxrender.net/wiki/index.php?title=LuxRays.
I want to move from the days of experiments and demos to applications useful on the field.
   
   
 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2007 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider