THE FOUNDRY TALKS DEVELOPING VFX FOR FILM AND VIDEO ON GPUS

by Heather Mackey

In the visual effects world, London-based award-winning firm The Foundry is renowned for its software. Bruno Nicoletti, founder and CTO of The Foundry, speed-talked through a tour of the company’s tools and software, demonstrating to an audience with a healthy population of VFX artists and developers how GPUs are changing the industry in “Developing GPU-Enabled Visual Effects for Film and Video.”

Foundry Session at GTC 2010

Foundry technology has been used in a host of blockbusters, such as Avatar, Harry Potter, The Dark Knight and many, many others, and its Nuke compositing software has been used for everything from the fantastic (CGI castles) to the mundane (complexion correction).

As a leader in the industry, Nicoletti has an invaluable perspective on the changes that GPUs are making in VFX. GPUs are reducing rendering times and allowing VFX to be involved more pervasively in all stages of production, in effect blurring the line between post production and production.

The popularity of utilizing the power of GPUs in the visual effects (VFX) industry continues to gain momentum. Major film production studios that historically have been CPU-based for VFX are not only utilizing GPUs, they are starting to replace their CPU-based rendering systems with GPU-based one.

This transition to GPU in VFX, however, requires some legwork, particularly when it comes to the complex image processing algorithms in VFX software. This (along with The Foundry’s solution) was the subject of the second half of Nicoletti’s talk.

With hundreds of effects and millions of lines of code in its software, The Foundry was faced with having to rewrite everything to exploit GPUs while maintaining separate algorithms for CPUs. Faced with the prospect of writing and debugging two sets of complex algorithms, The Foundry created something they’re calling Blink (although Nicoletti used its internal code name of RIP, or “Righteous Image Processing”).

Blink wraps image processing up into a high level C++ API. It lets programmers run kernels on the CPU for debugging, and then those kernels can be translated to spit out GPU CUDA. Nicoletti showed several coding examples and wrapped by showing examples of a motion estimation function run on an Intel Xeon 5504 versus an NVIDIA Quadro 5000. The speed difference was extraordinary (from 5fps to more than 200fps), which augurs for increased demand for VFX on GPU – and Blink.