Multithreading for Visual Effects

Overview

Tackle the Challenges of Parallel Programming in the Visual Effects Industry

In Multithreading for Visual Effects, developers from DreamWorks Animation, Pixar, Side Effects, Intel, and AMD share their successes and failures in the messy real-world application area of production software. They provide practical advice on multithreading techniques and visual effects used in popular visual effects libraries (such as Bullet, OpenVDB, and OpenSubdiv), one of the industry’s leading ...

See more details below
Other sellers (Hardcover)
  • All (2) from $63.05   
  • New (2) from $63.05   
Sending request ...

Overview

Tackle the Challenges of Parallel Programming in the Visual Effects Industry

In Multithreading for Visual Effects, developers from DreamWorks Animation, Pixar, Side Effects, Intel, and AMD share their successes and failures in the messy real-world application area of production software. They provide practical advice on multithreading techniques and visual effects used in popular visual effects libraries (such as Bullet, OpenVDB, and OpenSubdiv), one of the industry’s leading visual effects packages (Houdini), and proprietary animation systems. This information is valuable not just to those in the visual effects arena, but also to developers of high performance software looking to increase performance of their code.

Diverse Solutions to Solve Performance Problems

After an introductory chapter, each subsequent chapter presents a case study that illustrates how the authors used multithreading techniques to achieve better performance. The authors discuss the problems that occurred and explain how they solved them. The case studies encompass solutions for shaving milliseconds, solutions for optimizing longer running tasks, multithreading techniques for modern CPU architectures, and massive parallelism using GPUs. Some of the case studies include open source projects so you can try out these techniques for yourself and see how well they work.

Read More Show Less

Editorial Reviews

From the Publisher
"Multithreading applications is hard, but for today’s performance-critical codes, an absolute necessity. This book shows how the latest parallel programming technology can simplify the daunting challenge of producing fast and reliable software for multicore processors. Although the instructive case studies are drawn from visual effects applications, the authors cover the gamut of issues that developers face when parallelizing legacy applications from any domain."
—Charles Leiserson, MIT Computer Science and Artificial Intelligence Laboratory

"Multithreading graphics algorithms is a new and exciting area of research. It is crucial to computer graphics. This book will prove invaluable to researchers and practitioners alike. It will have a strong impact on movie visual effects and games."
—Jos Stam, Senior Principal Research Scientist, Autodesk, Inc.

"Visual effects programming is undergoing a renaissance as high-end videogame effects technology approaches the state-of-the-art defined by blockbuster Hollywood movies, empowered by the capabilities of multi-Teraflop GPU hardware. A wealth of graphics algorithms are now graduating into the realm of real-time rendering, yet today’s programmers face a formidable challenge in structuring these algorithms to take full advantage of today’s multi-core CPU architectures and deliver on their potential.
This book, the collaborative result of many industry luminaries, wonderfully bridges the gap between the theory of multithreading and the practice of multithreading in advanced graphical applications. Join them on this journey to bring real-time visual effects technology to the next level!"
—Tim Sweeney, CEO and Founder of Epic Games

Read More Show Less

Product Details

  • ISBN-13: 9781482243567
  • Publisher: Taylor & Francis
  • Publication date: 8/5/2014
  • Pages: 243
  • Product dimensions: 7.00 (w) x 10.10 (h) x 0.90 (d)

Table of Contents

Introduction and Overview James Reinders
Introduction
Overview of Case Studies
Motivation
Program in Tasks, Not Threads
Value of Abstraction
Scaling and Vectorization
Advancing Programming Languages for Parallel Programming
Parallel Programming in C and C++
Data Movement and Layout
Summary
Additional Reading

Houdini: Multithreading Existing Software Jeff Lait
What Is Houdini?
Rewrite or Refactor
Patterns
Copy on Write
Dependencies
OpenCL

The Presto Execution System: Designing for Multithreading George ElKoura
Introduction
Presto
Presto's Execution System
User Extensions
Memory Access Patterns
Flexibility to Experiment
Multithreading Strategies
Background Execution
Other Multithreading Strategies
Debugging and Profiling Tools
Summary

LibEE: Parallel Evaluation of Character Rigs Martin Watt
Introduction
Motivation
Specific Requirements for Character Animation Graph
Threadsafety
Scalability: Software Considerations
Scalability: Hardware Considerations
Production Considerations
Threading Visualization Tool
Rig Optimization Case Studies
Overall Performance Results
Limits of Scalability
Summary

Fluids: Simulation on the CPU Ronald D. Henderson
Motivation
Programming Models
Fluid Simulation
Summary

Bullet Physics: Simulation with OpenCL Erwin Coumans
Introduction
Rewriting from Scratch Using OpenCL
GPU Spatial Acceleration Structures
GPU Contact Point Generation
GPU Constraint Solving

OpenSubdiv: Interoperating GPU Compute and Drawing Manuel Kraemer
Representing Shapes
The Control Cage
Uniform Subdivision
Serializing the Mesh Representation
Transition from Multicores to Many-Cores
Reducing Branching Divergence
Optimization Trade-Offs
Evaluating Our Progress
Fundamental Limitations of Uniform Subdivision
Feature Adaptive Subdivision
Implementing the GPU Rendering Engine
Texturing
Conclusion

Bibliography

Index

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)