NVIDIA To Push Into Supercomputing
RedEaredSlider writes "NVIDIA outlined a plan to become 'the computing company,' moving well beyond its traditional focus on graphics and into high-profile areas such as supercomputing. NVIDIA is making heavy investments in several fields. Its Tegra product will be featured in several mobile devices, including a number of tablets that have either hit the market already or are planned for release this year. Its GeForce lineup is gaming-focused while Quadro is all about computer-aided design workstations. The Tesla product line is at the center of NVIDIA's supercomputing push."
I've been working with their GPGPU push for a couple of years now. What I notice is they are very good at data parallelism with highly regular data access patterns and very few branches. While they are technically general purpose, they don't perform well on a large portion of high performance tasks that are critical even in scientific computing which are generally compute-bound. This creates some really annoying bottlenecks that simply cannot be resolved. They can give tremendous speedup to a very limited subset of HPC tasks, but others are left in the water, and since these things usually are all coupled into a single code your only choice is to move back and forth between GPU and CPU frequently which initiates a data throughput bottleneck (data transfer from RAM to GPU is very slow).
On real tasks it is not uncommon to only receive say 2X speedup, where the programmer time involved was increase exponentially. For a lot of my work I'd rather to just do traditional MPI with multiple CPUs.