A former co-worker and I used to have discussions about the end applications of our engineering efforts. When I worked at Sanders, some of the peace-nik persuasion would have said I was feeding the US war machine. I didn't take it too seriously because most of what Sanders built was defensive electronics — sensors, detectors, radars, etc. It wasn't as though we were building bombs or missiles.
Later at J-Squared the tools I supported helped other digital engineers get their job done, facilitating electronic design as a whole — for better or for worse. When I worked at the Nashua forever-name-changing design house, our designs went into a variety of things, from medical devices, to printers, to projectors, to iPods. We used to joke that for all of our efforts, the biggest profit producer was in facilitating bringing portable music to the masses via the iPod. Every time you sync your iPod via USB and move megabytes of music in seconds, thank our Nashua office. While it may be hip, it didn't seem like something that would really help humanity.
I say this because I had similar reservations at first about working at ATI's hardware research and development. The stuff that comes out of our offices goes into XBox360's and expensive graphics adaptors predominantly purchased by twenty-something males with too much disposable income. For certain folks the products we produce are cool, but they won't solve world hunger, cure cancer, or make our lives safer.
That's why I was a bit excited this morning to read about Folding@Home porting their software for ATI's graphics cards. This'll take some explanation, but stick with me. The study of protein folding is the analysis of how certain proteins interact with each other. See here for more details. Using molecular simulation, scientists try to understand how diseases like Alzheimer's, Mad Cow, emphysema, and cancers develop and spread.
These simulations are very mathematically intense, requiring supercomputer horsepower to crunch the numbers. Folding@Home is a project where folks at Stanford distribute pieces of the simulation to folks to run on their internet connected computers when they are idle. By leveraging all those idle computers in parallel, they utilize a boatload of otherwise wasted compute cycles.
So how does this relate to ATI? A new area of development is the use of Graphics Processing Units (GPUs) to do non-graphics number crunching. The field is known as GPGPU. GPU's are already designed to crunch a lot of math, but it's usually aimed at rendering images. The field of GPGPU aims at utilizing GPU's in other number crunching fields that were previously only tackled by expensive supercomputers.
So by distributing the protein folding simulations across idle computers on the internet and then leveraging the ATI graphics chips in some of those computers, they get another order of magnitude boost in the amount of simulation results they can get.
It gave me a bit of encouragement that besides feeding gamers' desires, the application of all this technology development could, as a side effect, aid in the development of new medical understanding and perhaps cures. A geek can dream…