Behind The Scenes At DreamWorks - A Day In The Life Of A Code Warrior
DreamWorks Animation's technical and artistic prowess that has created some of the biggest Hollywood blockbusters from "Shrek" to "Kung Fu Panda" to "Puss in Boots."
A big-eyed cat called Puss in Boots, a cuddly panda named Po, an injured dragon nicknamed "Toothless." All three are among the incredibly popular characters from DreamWorks Animation movies who have earned the company billions of dollars and a reputation for unmatched creativity.
Intel has a long history of working with DreamWorks SKG that dates back to 2001. Co-founder Jeffrey Katzenberg has addressed internal Intel conferences and held meetings with Intel CEO Paul Otellini. Over the last three years, with the advent of 3-D animation, the companies have developed a strong technical relationship that capitalizes on Intel's server technology to create a string of successful animated films.
In 2008, DreamWorks converted its computing infrastructure to an Intel-architecture based system. The move allowed artists to work with new state-of-the-art 3-D authoring tools to render higher-quality images more quickly and to modify them with greater ease. Since then a handful of Intel software engineers have played a unique role at DreamWorks: creating software that takes advantage of the computer processors' power and performance.
Matt Walsh is one of those Intel employees who has the enviable task of going to work at one of the leading animation studios on the planet. We followed Matt through a typical day at DreamWorks to find out what happens behind the scenes and how the code Matt and his colleagues write helps the next Shrek, panda or dragon come to life.
9 a.m. -- Matt rides onto the modern DreamWorks campus -- which sits along the San Francisco Bay Area shoreline -- after a 5 ½-mile ride though traffic. He's logged 5,000 miles since starting the DreamWorks commute.
9:11 a.m. -- As soon as you enter DreamWorks, it's obvious that this isn't your grandmother's cube farm; it's more like a 12-year-old's wish come true. Po from "Kung Fu Panda" greets employees at the entrance, and massive stuffed characters -- Shrek, Po, Megamind -- are strewn across futons by Matt's office. Nintendo 64, Wii and Xbox game consoles are stashed in a break room and an elaborate K'NEX contraption is engineered to roll golf balls down clear PVC pipes, alerting everyone that it's time for coffee.
9:15 a.m. -- Matt checks to see if any of the 600 tests stressing the compiler he's co-developed have failed. In each test, the computer converts MetaSL -- a shading language artists use to achieve visual effects -- into code optimized for the processor and then runs it, verifying that it produces the correct output.
10:02 a.m. -- Since 2008, Matt has been working on the software technology that is being used to create "Turbo," a movie about a snail that's slated for a 2013 release. Converting an artist's 3-D models of characters, backgrounds and props to what viewers eventually see on the screen in 3-D is a long, complicated process called "rendering." Rendering combines geometry, viewpoint, texture, lighting and shading information to produce a convincingly realistic image.
Matt's software takes a shading language called "MetaSL" and converts it into efficient code that takes advantage of Intel's single-instruction, multiple-data (SIMD) processor features that can run at least four operations simultaneously rather than just one calculation at a time.
10:48 a.m. -- Matt's work allows processing to be completed faster, but that doesn't necessarily mean that a movie will hit theaters sooner. Instead, faster processing frees DreamWorks animators to experiment and try different things, making animated movies ever more sophisticated and realistic. Matt says his goal is to "help artists create movies at the pace of human imagination."
11:03 a.m. -- Matt plugs his ears with some pretty high-tech headphones. "Music helps me code -- helps me get in that zone. I like to work without distractions -- that's why I tend to work late at night." As he listens to ambient musician Brian Eno, Matt works to resolve some code errors, noting, "In developing compiler code, sometimes working out three really difficult lines of code is a productive day's worth of work."
11:33 a.m. -- Matt checks out the datacenter at DreamWorks with Dave Thomas, a storage supervisor. Intel engineers are driven by Moore's Law. At DreamWorks, it's "Shrek's Law": every sequel will need double the render power of the film before it. The original "Shrek" movie required 5 million rendering hours; "Shrek II" required 20 million, and the fourth, final "Shrek" consumed over 45 million hours. Five DreamWorks datacenters around the world house the needed processing power. Intel often assesses its newest servers inside DreamWorks, where the intense processing is a true test of stamina.
12:05 p.m. -- On his way to lunch, Matt passes a huge cardboard ad for DreamWorks' next big animated film, "Puss In Boots." His DreamWorks gig includes advance screenings, a perk Matt says his 7-year-old daughter enjoys the most. "I don't know what she'd do if I ever left!"
12:27 p.m. -- Matt eats lunch with colleagues Anna Newman (left) and Grace Bisel. They chat about Anna's independent film that's based on a story Matt told her about a girl who played pinball in a donut shop. Engineer during the day and artist at night, Anna represents the company's culture -- an unusual mix of employees with both artistic and technical prowess.
1:08 p.m. -- Matt joins a live video conference meeting with DreamWorks employees in Glendale, California.
1:34 p.m. -- Matt chats with colleagues Sheng Fu and Greg Junker. Greg laid the groundwork for the architecture Matt builds on today. When Intel shifted its priorities on the Larrabee GPU and discontinued SLX, a shading language that came out of Larrabee, Matt's team needed a replacement. Luckily, Greg had already been doing experiments with Cilk+ Array Notation -- a feature of Intel C++ compiler for Linux. The transition from SLX to Cilk+ was fast and relatively painless.
2:45 p.m. -- Matt spends most of his afternoon working on a presentation for the Tech Council, a group of Intel principal engineers, to explore how Matt's software can use the Sandy Bridge GPU to produce even faster results than the CPU in shading processing. Matt believes greater speeds for animators are achievable because the Sandy Bridge GPU sits on the CPU -- and avoids round trips to a peripheral card.
3:14 p.m. -- Not fans of the free Starbucks coffee on campus, this group took it upon themselves to locate quality beans and French press them into a delicious brew, just as the afternoon slump starts to hit. Matt makes the coffee himself and seven or so members of the coffee group wander into the kitchen to pour themselves a cup.
5:00 p.m. -- Matt and his boss conduct a dry run of the Tech Council presentation, striving to strike the right balance between a high-level, clear explanation and specific technical descriptions.
5:47 p.m. -- Matt wheels his bike out of DreamWorks, another day semi-complete. He'll log back on at home, finishing off his workday around 7:30 p.m.