final02

You probably have heard a lot about GPU acceleration in recent months. In this article we’ll take a look at what exactly we can expect from a GPU accelerated 3D animation package. We’ll talk to some industry experts and examine how to tackle this new computational method from a hardware standpoint.

First let us provide you with a background of our company so you know where we’re coming from. RenderStream spun off from a designer of scientific supercomputers and we have been using GPUs to solve computationally intensive problems in the semiconductor industry for some time. It turns out those problems are similar to the computational problems found in rendering and that’s how RenderStream was born. We’re excited to see the computer graphics industry take advantage of the GPU as we’ve seen first hand it’s advantages in other industries. With that in mind, we are eager to help the CG community apply this new technology to their pipelines.

Game changer?
People like to use the term “game changing” to describe new advances technology that can radically improve production in an industry. It would be safe to think of GPU acceleration as a game changer for the animation and VFX industries. From a rendering standpoint, we could see render times go from several minutes down to just a few seconds. General workflow benefits would be the ability to seamlessly navigate high poly scenes in viewports that incorporate rich textures and even global illumination. All of this will allow for an incredible amount of rapid visual feedback for the artist allowing them to explore new creative avenues at a pace never seen before.

What is a GPU? Why is the GPU so much faster than a CPU?
Take a look at this youtube clip where the hosts of Discovery’s Mythbusters explain parallel processing on GPUs. It is from 2008 but still presents a good analogy.

How about an analogy on how this relates to 3D rendering…

finalComp

To help you understand how GPU acceleration could speed up rendering, lets think of it in terms of bucket rendering. (Please keep in mind this analogy isn’t technically accurate) Most of you are familiar with bucket rendering since modern renderers use that method.  As a renderer calculates and ultimately draws pixels, it does so in small portions, or buckets, of a predetermined size.  For every number of cores you have in your machine, you will have an equal amount of buckets at render time. For example, a common workstation today will have 4 cores (also known as a quad core) thus you will see 4 buckets at render time. If you have a dual quad core machine you will see 8 buckets and so on…
Today’s GPUs have 240 cores and the next generation will have up to 512 cores. By the time GPU acceleration is available for rendering, there could be even more cores available on the GPU. So, you can start to see how a GPU can have a tremendous impact on rendering. With CPUs we see a bucket work on a small portion of the rendered frame and then move on to another region. With a GPU, the available buckets would essentially fill the entire rendered frame. All portions of the frame would be “worked on” at once allowing for near real time rendering.
It should be noted that this is just an analogy. In reality a GPU renderer would likely not utilize bucket rendering. The calculations would be computed so fast, it would be more efficient to simply display the final output (or iterations approaching final output) in real time.

Lets talk to some experts…
To get a better understanding of what is going on behind the scenes, we got in touch with Ken Pimentel, Director, Visual Communication Solutions at Autodesk.

RS: Can you talk a little bit about what we might see in a GPU accelerated version of 3DS Max? Most people are aware of the render time benefits associated with GPU acceleration. Will any other key aspects of the software benefit as well?

Ken: 3ds Max leverages the GPU probably more than any other professional animation tool in the industry. Our efforts are currently focused on rendering/viewport acceleration and image quality, though I wouldn’t rule out additional areas. We like what Nvidia is doing with 3ds Max and their PhysX plug-in which can take advantage of the GPU for physics acceleration. That’s a trend to watch.

RS: What other products will benefit from GPU-accelration? Maya? Softimage? ….?

Ken: Mudbox is probably the next most GPU-focused app in Autodesk. They have a lot of great shader technology that we’ve also used in 3ds Max. Showcase is another app that has really focused on interactive visualization and get’s very close to photo-real with the GPU. Maya and Softimage are also looking to the GPU for better image quality.

RS: You mentioned in a previous conversation that, as workstation designers and suppliers, we “should be putting in the most powerful GPU customers can afford” in our systems. Since professional graphics cards (FX cards) offer more memory than gaming cards (GTX), can you explain what a customer might gain by going with an FX card over a GTX card?

Ken: GPUs have dramatically improved in performance in the last few years and see no signs of stopping. As GPU acceleration moves to the cards, the amount of memory on the card starts becoming a major limiting factor for how much you can push to them. For example, a limit of 5M triangles per 1Gb of video RAM could be a reasonable benchmark for what some solutions might be limited to. The point is that there are limitations, customers need to understand that the limitation is not 50M triangles per 1Gb, it is something much less in practice. Plus, if you want normal maps along with your textures, all of sudden your memory requirements move up. You only get high memory configurations with the professional boards, so that is one compelling reason to use them.

RS: How will this compare to using Quadro-Plex, Tesla or Fermi GPGPU servers? Will these products also support this acceleration and do they need to be used in conjunction with either a FX or GTX cards?

Ken: There are GPU-based servers that operate just as computational servers. As far as I know, none of the graphics work we’ve done or are considering will leverage these configurations. I’m not sure if PhysX does, but it would make sense if it did.

RS: Without getting into specific time tables, can you give our users an idea of when they could expect to take advantage of this new technology? In other words, if a high end GPU was purchased today, would it become obsolete before GPU acceleration hits the market?

Ken: For 3ds Max, Showcase and Mudbox, you can definitely extract the value of the best GPU you can afford right now. If not from a sheer performance standpoint, then from an image quality standpoint. Plus, the future is definitely going to be more GPU centric just because the rate of performance of the GPUs have accelerated so far past CPUs. This is why you’re seeing an explosion of GPU-based techniques.

RS: The recent demonstrations of both iRay and the GPU accelerated version of V-Ray real time are very impressive. However, we still haven’t seen what we would call a “production level” version GPU accelerated rendering as in the ability to render out a sequence of frames, either directly from one’s workstation, or over an in house GPU network similar to today’s network rendering. Will that functionality be included?

Ken: I believe that at first, we’ll see solutions that optimize the workflow of creating a rendering before we see dramatic acceleration of film-quality shots by GPUs. There are some bottlenecks when it comes to lots of special effects that might require techniques that are actually slower on a GPU. However, if we can dramatically improve the experience of developing the shot, I think that is a huge win in of itself.

RS:  What does Autodesk plan to develop or utilize regarding other new GPU-technologies like GPU virtualization or server side rendering for the mobile and netbook markets?

Ken: We have some interesting research going on in this area. We’d like to see a world where you can author content once and deploy it on many targets – even if the targets have widely different capabilities. This problem has never been solved for 3D graphics (though it has been pretty much solved for text and 2D images and vectors).

GPU based renderfarm?
If one GPU has so much comptutional potential, imagine what can be accomplished with a GPU cluster. Render farms as we know them today could look very different in the future. Will the farms be all GPU based or will we see and equal amount of CPUs for every GPU? This will all depend on how the software handles the computational load. In time, the vast majority of tasks might be able to utilize the GPU but the reality is that the CPU will have a key role on the farm for some time. The reason for is this is that there might be certain tasks that just run more efficiently on the CPU, or perhaps not even run at all on the GPU. Successful implementation of GPU acceleration would be an application that uses efficient heterogeneous processing where the MPU handles what it does best and the GPU does what it does best.

farm01

Conclusions:
GPU acceleration will change the computer graphics industry and all of us need to prepare for it. The rate of that change will depend largely on how fast software developers migrate to the GPU. Will your CPU based render farm become obsolete overnight? At this point we don’t think so. A more likely scenario would be a gradual integration of GPU hardware solutions into your current renderfarm/pipeline. As Ken stated above, “we’ll see solutions that optimize the workflow of creating a rendering before we see dramatic acceleration of film-quality shots by GPUs.”

A perfect example of this can be seen in the collaboration between nVidia and Weta Digital on the production of Avatar which is discussed in this article: http://www.nvidia.com/object/wetadigital_avatar.html.  As stated by Weta’s head of R&D, the final beauty pass was still rendered with RenderMan however,  “to optimize artistic iterations on Avatar’s huge data sets, we [Weta] moved the bulk of the calculation to a pre-computation step. The issues we needed to solve weren’t as much about rendering as they were about high-performance computing, and we realized that using the massively parallel power of a GPU to solve problems is NVIDIA’s expertise” says Sebastian Sylwan, Weta’s head of research and development.

Also lets keep in mind that in order to produce the stereoscopic 3D effect, each frame needs to be rendered twice, each at slightly different perspectives. This essentially doubles the amount of computation required for each shot. As this technique becomes more mainstream, GPUs will play a key role in tackling the increased computational load.

avatar

GPU acceleration is a rapidly evolving issue that RenderStream is paying very close attention to.  We plan to follow up with this article and pass on what we learn from our own research as well as other industry experts…stay tuned.

For more information on RenderStream’s GPU based products please visit http://www.renderstream.com/HPC.html