GPUs: What are they?
Software for GPUs inc. compiler/directives, maths libs & tools (debuggers and profilers)
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 now as just GPU programming.
Various vendors have product lines suitable for general purpose computing. Here's just a brief summary. Feel free to add and amend. Comparison of AMD and NVIDIA can be found in this HPCWire article.
Fermi is an architecture designation (a follow on from the G80 and then GT200, sporting 128 and 240 stream processors): 512 stream processors, optional ECC, 2:1 DP support (vs. 8:1 for GT200)
- Relevant NVIDIA product lines:
Tesla - high-end workstation card. Tesla 20-series includes: C2050/M2050/S2050 & C2070/M2070/S2070 (Workstation Card/Node-eMbedded/breakout Server respectively). Note 3GB or 6GB of memory options, 5 and 7 in model number denotes this. Peak figures: 1.03 single precision teraflops and 515 gigaflops double precision.
- Quadro - High end workstation graphics card
GeForce - Consumer graphics card
Forthcoming Cayman architecture: Radeon 6970 and 6950
FireStream - 5:1 DP support, 4GB memory, no ECC. Peak figures: 2.64 teraflops of single precision performance and 528 gigaflops of double precision.
- Radeon - Graphics orientated cards. Model number denotes the market it's aimed at. 8* and 9* are the high-end chipsets.
- Larrabee - Potential future for many-core at Intel and sits on the socket, not PCIe.
- Sandy/Ivy Bridge - Consumer GPU offering built onto socket. Avoidingthe PCIe bottleneck.