Browse Definitions :
Definition

GPGPU (general purpose graphics processing unit)

Contributor(s): Matthew Haughn

A general-purpose GPU (GPGPU) is a graphics processing unit (GPU) that performs non-specialized calculations that would typically be conducted by the CPU (central processing unit). Ordinarily, the GPU is dedicated to graphics rendering.

GPGPUs are used for tasks that were formerly the domain of high-power CPUs, such as physics calculations, encryption/decryption, scientific computations and the generation of cypto currencies such as Bitcoin.  Because graphics cards are constructed for massive parallelism, they can dwarf the calculation rate of even the most powerful CPUs for many parallel processing tasks. The same shader cores that allow multiple pixels to be rendered simultaneously can similarly process multiple streams of data at the same time. Although a shader core is not nearly as complex as a CPU, a high-end GPU may have thousands of shader cores; in contrast, a multicore CPU might have eight or twelve cores.

There has been an increased focus on GPGPUs since DirectX 10 included unified shaders in its shader core specifications for Windows Vista. Higher-level languages are being developed all the time to ease programming for computations on the GPU.  Both AMD/ATI and Nvidia have approaches to GPGPU with their own APIs (OpenCL and CUDA, respectively).

The history of general-purpose GPUs
Nvidia’s GeForce 3 was the first GPU that featured programmable shaders. At that time, the purpose was making rasterized 3D graphics more realistic; the new GPU capabilities enabled 3D transform, bump mapping, specular mapping and lighting computations. ATI’s 9700 GPU, the first DirectX 9-capable card approached the programming flexibility of CPUs, although few general purpose calculations were done at the time. With the introduction of Windows Vista, bundled with DirectX 10, unified shader cores were specified as part of the standard. GPU’s new-found potential demonstrated performance increases several orders of magnitude over CPU-based calculations.

GPGPUs and the future of computer graphics
GPUs that were originally developed to speed rasterized 3D (as raytracing was too expensive calculation-wise) have surpassed the performance of CPUs for raytraced pre-rendered graphics. Although raytracing is not yet used in games, there have been real-time demonstrations. The advances of GPGPUs mean that in the not-too-distant future, computer graphics should be capable of the same kind of intensive geometry and lighting as 3D movies.

This was last updated in January 2015

Continue Reading About GPGPU (general purpose graphics processing unit)

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

File Extensions and File Formats

SearchCompliance

SearchSecurity

  • computer worm

    A computer worm is a type of malicious software program whose primary function is to infect other computers while remaining ...

  • Single Sign-On (SSO)

    Single sign-on (SSO) is a session and user authentication service that permits a user to use one set of login credentials (e.g., ...

  • Certified Information Systems Auditor (CISA)

    Certified Information Systems Auditor (CISA) is a certification issued by ISACA to people in charge of ensuring that an ...

SearchHealthIT

SearchDisasterRecovery

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • disaster recovery team

    A disaster recovery team is a group of individuals focused on planning, implementing, maintaining, auditing and testing an ...

  • cloud insurance

    Cloud insurance is any type of financial or data protection obtained by a cloud service provider. 

SearchStorage

  • VRAM (video RAM)

    VRAM (video RAM) is a reference to any type of random access memory (RAM) used to store image data for a computer display.

  • Kilo, mega, giga, tera, peta, exa, zetta and all that

    Kilo, mega, giga, tera, peta, exa, zetta are among the list of prefixes used to denote the quantity of something, such as a byte ...

  • flash memory

    Flash memory, also known as flash storage, is a type of nonvolatile memory that erases data in units called blocks.

Close