Julia is a normal 12-year-old. She’s on her school’s basketball and volleyball teams. She’s into swimming. Now and then spends a little time with Minecraft.
She also happens to be learning how to tap into the kind of computing power once reserved for elite scientists wielding vast government budgets and exotic supercomputers.
“It was really fun,” says Julia on a call from her home in Cherry Hills Village, Colorado, following an after-school basketball game. “It was one of my first programming classes, I actually did okay at it.”
Everyone is Doing It
Tapping into the power of the graphics chips powering PlayStations and PCs used to be considered a little fringy. Now, it couldn’t be much more mainstream.
Two million people have downloaded our CUDA tool kit. More than 18,000 professionals boast about knowing CUDA on their LinkedIn profiles. Parallel programming is increasingly among the core skills programmers are expected to learn.
CUDA whet Julia’s appetite for more. “I used to want to be an architect,” says Julia. “Now I want to be a computer programmer.”
To create a bigger, more responsive virtual world for Minecraft, Julia says she’s now working with her dad — John Ashley, a post-doctoral fellow at the University of Colorado (Boulder) — to create code that will accelerate the open-source code that powers the servers used to host the game.
While John had signed up for the supercomputing conference in advance, he decided to bring Julia at the last moment. She had a day off from school, and asked to come along.
The show was an obvious fit for John, who holds a Ph.D. in chemical engineering. He’s doing design work on medical devices that could one day detect diseases, such as cancer, that leave chemical markers in the blood — markers that might even be detected by a simple breath test.
From Scientists, to Gamers, and Back
Building such devices, however, requires sophisticated micro-fluidics simulations. The need to build these has made CUDA — the programming model that helps programmers unlock the power of NVIDIA’s graphics chips for a wide range of applications — a key technology for John.
He says CUDA has helped him get simulations done overnight with an off-the-shelf graphics chip that would have taken a week on a mainframe computer.
These graphics processors, or GPUs, are built to tackle a large number of tasks at once — making them ideal for creating graphics for video games. And that broad market has made it possible to build chips that pack the kind of power once available only in a high-end supercomputer into an add-in card that can be slipped into a desktop PC.
The result: booming demand for Tesla GPUs among scientists and researchers, who are using CUDA to build applications that sometimes surprise even the technologists who developed CUDA.
While John’s work in fluid mechanics is a classic CUDA application, Minecraft isn’t. The game has become a worldwide hit thanks to teens and pre-teens. And its charming, blocky graphics make it playable even on machines that don’t have GPUs.
“It’s really addicting. It teaches you about architecture, about gravity, about a lot of things,” Julia says. The customizable plug-ins powering Minecraft are also a way to dive deeper into the technology powering games, says Julia.
Julia’s plan sounds wild, to be sure, but John thinks it’s doable. There are many plug-ins for Minecraft written in a wide variety of programming languages. Many of them are large, computationally-intensive programs that could benefit from GPU acceleration, John says, and Julia and her brothers have already done some coding work in the past.
But Can It Play Minecraft?
Of course, learning CUDA does take an investment of time. It took an afternoon of tutorials for Julia — who, admittedly, already knows her way around a server — to get started with CUDA.
Her reward: an NVIDIA scarf handed out at the SC13 conference. Maybe next year, they’ll bring the entire clan. John reports that Julia and her brothers — she is one of a set of triplets — already sometimes fight over the bright green neck warmer.