MIT Artificial Vision Researchers Assemble 16-GPU Machine
lindik writes "As part of their research efforts aimed at building real-time human-level artificial vision systems inspired by the brain, MIT graduate student Nicolas Pinto and principal investigators David Cox (Rowland Institute at Harvard) and James DiCarlo (McGovern Institute for Brain Research at MIT) recently assembled an impressive 16-GPU 'monster' composed of 8x9800gx2s donated by NVIDIA. The high-throughput method they promote can also use other ubiquitous technologies like IBM's Cell Broadband Engine processor (included in Sony's Playstation 3) or Amazon's Elastic Cloud Computing services. Interestingly, the team is also involved in the PetaVision project on the Roadrunner, the world's fastest supercomputer."
AMD/ATI have released the specs for their hardware. Why haven't the proprietary NVIDIA engineers done the same? What do they have to hide?
GPUs use an SIMD (single instruction, multiple data) configuration. They perform best there is a huge number of independent entities that must be processed in parallel by applying the same operation on all of them simultaneously. Visual processing is a form of signal processing similar to graphics processing in which a stream of parallel data undergo the same transformation. The problem is that the minute you inject any kind of data dependency, your performance takes a major hit. For example, you would not want to use it to implement a parallel quicksort algorithm. So, the answer is no, GPUs are not for general purpose computing but they are fast in what they do and, unlike multithreading which is coarse-grained, they perform fine-grain parallelism. For an easy to read treatment of the two main types of parallel processors (SIMD and MIMD) read Nightmare on Core Street.