GPU’S PROCESSING IMAGES FROM THE RED PLANET

by Gary Rainville

[Update] Blog post updated for factual accuracy

The 150 million-plus miles from Earth to Mars is the least of the challenges facing researchers who are processing images from a rover on the Red Planet.

Consider some others: The rover’s processor is now generations-old technology – the rover was meant to last  six months and is going on its seventh year. Mars provides a very “noisy” image environment. There are limited transfer times when an orbiting satellite can send images back to Earth. And the rover’s pint-sized antenna looks like it was fashioned out of a paper clip. Worst of all, there’s no onsite tech support.

But mathematician Brendan Babb, from the University of Alaska at Anchorage, is using GPUs to improve the image compression from data sent by the rover. He uses the CUDA programming language and NVIDIA Tesla GPUs to speed up what is called a genetic algorithm, which mimics natural evolution to derive clearer images from the ones coming from NASA’s Jet Propulsion Laboratory.

A beautiful panorama of Mars Rover “Spirit” from “Troy” (false color)

The algorithm works by pairing neighboring pixels with a random one and then adjusting the random pixel based on whether it incrementally improves the original image. Babb described the algorithm as an “embarrassingly” parallel process, ideally suited to GPU acceleration. He estimates he has been able to achieve a 20 to 30 percent error reduction in subjects like fingerprints and satellite imagery. He’s currently beating the Jet Propulsion Laboratory’s results by a smidgen, and is striving to best it more significantly.

In fact, GPU technology has been so helpful to him that he said he would’ve been satisfied with a 20 percent quicker processing time three years ago. Now he describes himself as “jaded” to the 3-5X speedup he’s achieving, and hopes to reach as much as 10X in the future.

Babb is also encouraging his colleagues at the University of Alaska to learn CUDA because the minimal changes in code required offer a big speedup in results. In the future, he hopes to access Fish, a forthcoming GPU-based supercomputer, to further progress in his work.