Guest blogger: Nisha Desai from Intel’s Internal Employee Communications Team
Photo credit: Walden Kirsch from Intel’s Internal Employee Communications Team
Redwood City, CA—A green ogre called Shrek, a cuddly panda named Po, a dragon who learns how to fly. 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. Although our name never appears on a theater marquee, Intel technology helps make the DreamWorks magic happen.
Back in July 2008, DreamWorks announced that it would convert its computing infrastructureto an Intel-architecture based system, allowing their 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.
Intel Software and Services Group employees have a unique role at Dreamworks: they are creating special software that takes advantage of our processors’ power and performance. And Matt is one of them. He 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.
“It’s just math,” Matt says modestly, but he and a handful of Intel software engineers who go to work at DreamWorks every day create software that pushes the limits both of Intel technology and the world of animation.
So how does a software engineer help make the next Shrek come alive—and what’s it like to work at DreamWorks? 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 five and a half mile ride though traffic. He’s logged 5,000 miles since he started his commute to DreamWorks in late 2008.
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 lives a dual life, scanning both an Intel screen and a DreamWorks screen throughout the day. 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. On the other screen he checks his Intel email.
10:02 a.m.—Since 2008, Matt’s 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 3D models of characters, backgrounds and props to what viewers eventually see on the screen in 3D 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. Usually a processor performs just one calculation at a time, but all Intel processors can run at least four operations at a time—that’s what SIMD is—if you treat it to the right software. This allows more things to happen simultaneously, enabling faster processing work.
10:48 a.m.—Matt’s work allows the processing work 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. They cost $1,200—they are custom-fitted and include 8 speaker drivers in each ear— and Matt doesn’t regret a single penny. “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, 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 (left) and Grace. 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 “Halo” room (TelePresence for us Intelites) meeting with DreamWorks employees in Glendale, California. Intel also has several employees who work in Glendale, working on software needed to create animated feature-length films. Like other Intel employees, Matt uses a variety of collaboration tools—his favorite being the Halo rooms—to keep in touch with his colleagues in Glendale and Ram, his boss in Oregon.
1:34 p.m.— After a pit stop to grab Lifesavers candies, Matt chats with Intel colleagues Sheng and Greg. Greg laid the groundwork for the architecture Matt builds on today. When Intel shifted its priorities on Larabee and discontinued SLX, a shading language that came out of Larabee, Matt’s team needed a replacement. Luckily, Greg had for months been doing experiments with and helping the Intel Compiler team improve 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. Some commit what is called a “hit and run”— grabbing a cup and fleeing—while others take the time to chat.
5:00 p.m.—Matt and his boss conduct a dry run of the Tech Council presentation. In typical Intel style, they’ve made four or five revisions, hoping to strike the right balance between a high-level, clear explanation and specific technical descriptions. Matt notes that PowerPoint usage is definitely an Intel thing—it’s not the default communication medium at DreamWorks. In fact, there are only two or three conference rooms on each floor—people tend to gather in cubes and talk.
5:47 p.m.—Matt wheels his bike out of DreamWorks, another day as an Intel software engineer only semi-complete. He’ll log back on at home, finishing off his day around 7:30 p.m. But a major break is soon on its way. He’s looking forward to both a baby girl due October 18, as well as a second sabbatical, which he’ll take after the baby is born to spend with his wife and daughters.