GPUs: What are they?
Graphical Processing Units (GPUs) used to be for processing graphics for computer screens. Much of these processing was able to be carried out concurrently on small amounts of data. GPUs thus became capable of carrying out the same operations on different data at the same time - a known parallel processing pattern (the SIMD model). The jump was made to using the compute capability of GPUs to carry out not just processing of graphical information but of the main computation itself. This is what is currently know as GPGPU (general purpose GPU) programming, more commonly known as just GPU programming.
What's Available to Buy?
Various manufacturers have different hardware to sell. Here's just a brief round-up of the some more modern choices
Suggestion: always use the product number (eg C2050) to clearly identify. Check the "compute capability" (you'll want 2.0 or higher)
- fermi architecture: 512 stream processors, optional ECC
- product streams:
tesla - high-end workstation card. Tesla 20-series includes: C2050/M2050/S2050 & C2070/M2070/S2070 (card/rack-mounted?/server respectively)
- quadro - workstation/desktops card
GeForce - desktop card
- Larrabee - potential for the future