12-Year-Old Learns to Program Graphics Chips, Aims to Build Ultimate Minecraft Server

by Brian Caulfield

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.

Her goal: use NVIDIA Tesla GPUs — and our CUDA parallel programming platform — to build the ultimate Minecraft server.

Julia joined hundreds of other developers who learned how to program GPUs at our booth at the SC’13 supercomputing show.

Last month the middle schooler joined hundreds of others who spent an hour learning the fundamentals of CUDA programming at the Supercomputing 13 conference in Denver, Colorado.

“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.

Father-daughter project: Julia and her father build custom servers in their spare time.
Father-daughter project: Julia and her father build custom servers in their spare time.

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.

People of all ages are using Minecraft to build fantastic virtual worlds.
People of all ages are using Minecraft to build fantastic virtual worlds.

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.