Friday, January 9, 2009

GPU Computing Talk

I just got back from a very interesting talk by Pat Hanrahan of Stanford on GPUs and the future of parallel computing. He was very compelling in his arguments that conventional CPUs are dinosaurs and need to be replaced or at least supplemented with much more efficient GPU-style processors. He also showed a bit about Intel's Larrabee, which was very interesting. The idea of using a bunch of simple, multithreaded x86 cores in a graphics architecture is intriguing.

The biggest roadblock to this approach is software. Frankly a whole lot of code out there is single threaded and that isn't likely to change in the short term. Existing programming paradigms are problematic for parallel or concurrent code and we programmers tend to make mistakes that are very hard to catch and debug on parallel systems, while sequential debugging is at least tolerable. So until this is addressed by new generations of software architectures and better training for computer scientists and programmers, adoption will be slow, except in specialized domains.