page_title: Parallel computing
section_title: General-purpose computing on graphics processing units (GPGPU)
hierarchical_section_title: Parallel computing / Hardware / Classes of parallel computers / Specialized parallel computers / General-purpose computing on graphics processing units (GPGPU)
caption_attribution_description: English: Nvidia Tesla
context_page_description: Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism. Parallelism has long been employed in high-performance computing, but has gained broader interest due to the physical constraints preventing frequency scaling. As power consumption by computers has become a concern in recent years, parallel computing has become the dominant paradigm in computer architecture, mainly in the form of multi-core processors.
  Parallel computing is closely related to concurrent computing—they are frequently used together, and often conflated, though the two are distinct: it is possible to have parallelism without concurrency, and concurrency without parallelism. In parallel computing, a computational task is typically broken down into several, often many, very similar sub-tasks that can be processed independently and whose results are combined afterwards, upon completion.
context_section_description: General-purpose computing on graphics processing units (GPGPU) is a fairly recent trend in computer engineering research. GPUs are co-processors that have been heavily optimized for computer graphics processing. Computer graphics processing is a field dominated by data parallel operations—particularly linear algebra matrix operations.
  In the early days, GPGPU programs used the normal graphics APIs for executing programs. However, several new programming languages and platforms have been built to do general purpose computation on GPUs with both Nvidia and AMD releasing programming environments with CUDA and Stream SDK respectively. Other GPU programming languages include BrookGPU, PeakStream, and RapidMind. Nvidia has also released specific products for computation in their Tesla series. The technology consortium Khronos Group has released the OpenCL specification, which is a framework for writing programs that execute across platforms consisting of CPUs and GPUs. AMD, Apple, Intel, Nvidia and others are supporting OpenCL.
caption: Nvidia's Tesla GPGPU card
exif: {"Image Make": "Sony Ericsson", "Image Model": "K800i", "Image Orientation": "Horizontal (normal)", "Image XResolution": "72", "Image YResolution": "72", "Image ResolutionUnit": "Pixels/Inch", "Image Software": "GIMP 2.4.2", "Image DateTime": "2008:02:19 17:13:06", "Image YCbCrPositioning": "Co-sited", "Image ExifOffset": "202", "Thumbnail Compression": "JPEG (old-style)", "Thumbnail Orientation": "Horizontal (normal)", "Thumbnail XResolution": "72", "Thumbnail YResolution": "72", "Thumbnail ResolutionUnit": "Pixels/Inch", "Thumbnail JPEGInterchangeFormat": "680", "Thumbnail JPEGInterchangeFormatLength": "3299", "EXIF ExposureTime": "1/8", "EXIF FNumber": "14/5", "EXIF ISOSpeedRatings": "400", "EXIF ExifVersion": "0220", "EXIF DateTimeOriginal": "2008:02:19 17:07:04", "EXIF DateTimeDigitized": "2008:02:19 17:07:04", "EXIF ComponentsConfiguration": "YCbCr", "EXIF ExposureBiasValue": "0", "EXIF MeteringMode": "CenterWeightedAverage", "EXIF LightSource": "Unknown", "EXIF Flash": "Flash fired, auto mode", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "2048", "EXIF ExifImageLength": "1536", "Interoperability InteroperabilityIndex": "R98", "Interoperability InteroperabilityVersion": "[48, 49, 48, 48]", "EXIF InteroperabilityOffset": "544", "EXIF CustomRendered": "Normal", "EXIF ExposureMode": "Auto Exposure", "EXIF WhiteBalance": "Auto", "EXIF DigitalZoomRatio": "0", "EXIF SceneCaptureType": "Night", "EXIF SubjectDistanceRange": "2"}