Multithreading and VFX

Courses
Wednesday, July 24, 2013 - 9:00am to 12:15pm
Anaheim Convention Center
Room 304 A-D

Parallelism is important to many aspects of visual effects. In this course, experts in several key areas present their specific experiences in applying parallelism to their domain of expertise. The problem domains are very diverse, and so are the solutions employed, including specific threading methodologies. This allows the audience to gain a wide understanding of various approaches to multithreading and compare different techniques, which provides a broad context of state-of-the-art approaches to implementing parallelism and helps them decide which technologies and approaches to adopt for their own future projects. The presenters describe both successes and pitfalls, the challenges and difficulties they encountered, and the approaches they adopted to resolve these issues.

The course begins with an overview of the current state of parallel programming, followed by five presentations on various domains and threading approaches. Domains include rigging, animation, dynamics, simulation, and rendering for film and games, as well as a threading implementation for a full-scale commercial application that covers all of these areas. Topics include CPU and GPU programming, threading, vectorization, tools, debugging techniques, and optimization and performance-profiling approaches.

COURSE SCHEDULE
9 am
Introduction

9:05 am
Multithreading Introduction and Overview
Reinders

9:50 am
Asynchronous Computation Engine for Animation
ElKoura

10:20 am
Break

10:30 am
Parallel Evaluation of Character Rigs Using TBB
Watt

11 am
GPU Rigid Body Simulation Using OpenCL
Coumans

11:30 am
Parallelism in Tools Development for Simulation and Rendering
Henderson

Noon
Parallelism in Houdini
Lait

Level

Intermediate

Prerequisites

Software development background. Parallel programming experience is not required.

Intended Audience

Software developers or technical artists interested in improving performance of their applications though application of parallel-programming techniques.

Instructor(s)

James Reinders
Intel Corporation

George ElKoura
Pixar Animation Studios

Erwin Coumans
Advanced Micro Devices, Inc.

Ron Henderson
DreamWorks Animation

Martin Watt
DreamWorks Animation

Jeff Lait
Side Effects Software Inc.