graphics processing unit for an expansion card that contains a graphics processing unit see video cards gpu redirects here for other uses see gpu disambiguation components of a gpu a graphics processing unit gpu is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device gpus are used in embedded systems mobile phones personal computers workstations and game consoles modern gpus are very efficient at manipulating computer graphics and image processing their highly parallel structure makes them more efficient than generalpurpose cpus for algorithms that process large blocks of data in parallel in a personal computer a gpu can be present on a video card or embedded on the motherboard in certain cpus they are embedded on the cpu die the term gpu was first used in at least 1980s history see also video display controller list of home computers by video hardware and sprite computer graphics 1970s arcade system boards have been using specialized graphics chips since the 1970s in early video game hardware the ram for frame buffers was expensive so video chips composited data together as the display was being scanned out on the monitor fujitsus mb14241 video shifter was used to accelerate the drawing of sprite graphics for various 1970s arcade games from taito and midway such as gun fight 1975 sea wolf 1976 and space invaders 1978 in the home market the atari 2600 in 1977 used a video shifter called the television interface adaptor 1980s the nec pd7220 was one of the first implementations of a graphics display controller as a single large scale integration lsi integrated circuit chip enabling the design of lowcost highperformance video graphics cards such as those from number nine visual technology it became one of the best known of what were known as graphics processing units in the 1980s the williams electronics arcade games robotron 2084 joust sinistar and bubbles all released in 1982 contain custom blitter chips for operating on 16color bitmaps in 1985 the commodore amiga featured a custom graphics chip with a blitter unit accelerating bitmap manipulation line draw and area fill functions also included is a coprocessor commonly referred to as the copper with its own primitive instruction set capable of manipulating graphics hardware registers in sync with the video beam eg for perscanline palette switches sprite multiplexing and hardware windowing or driving the blitter in 1986 texas instruments released the tms34010 the first microprocessor with onchip graphics capabilities it could run generalpurpose code but it had a very graphicsoriented instruction set in 19901992 this chip would become the basis of the texas instruments graphics architecture tiga windows accelerator cards in 1987 the ibm 8514 graphics system was released as one of in 1988 the first dedicated polygonal 3d graphics boards were introduced in arcades with the namco system 21 1990s tseng labs et4000w32p s3 graphics virge voodoo3 2000 agp card in 1991 s3 graphics introduced the s3 86c911 which its designers named after the porsche 911 as an indication of the performance increase it promised by this time fixedfunction windows accelerators had surpassed expensive generalpurpose graphics coprocessors in windows performance and these coprocessors faded away from the pc market throughout the 1990s 2d gui acceleration continued to evolve as manufacturing capabilities improved so did the level of integration of graphics chips additional application programming interfaces apis arrived for a variety of tasks such as microsofts wing graphics library for windows 3x and their later directdraw interface for hardware acceleration of 2d games within windows 95 and later in the early and mid1990s realtime 3d graphics were becoming increasingly common in arcade computer and console games which led to an increasing public demand for hardwareaccelerated 3d graphics early examples of massmarket 3d graphics hardware can be found in arcade system boards such as the sega model 1 namco system 22 and sega model 2 and the fifthgeneration video game consoles such as the saturn playstation and nintendo 64 arcade systems such as the sega model 2 and namco magic edge hornet simulator in 1993 were capable of hardware tl transform clipping and lighting years before appearing in consumer graphics cards in the pc world notable failed first tries for lowcost 3d graphics chips were the s3 virge ati rage and matrox mystique these chips were essentially previousgeneration 2d accelerators with 3d features bolted on many were even pincompatible with the earliergeneration chips for ease of implementation and minimal cost initially performance 3d graphics were possible only with discrete boards dedicated to accelerating 3d functions and lacking 2d gui acceleration entirely such as the powervr and the 3dfx voodoo however as manufacturing technology continued to progress video 2d gui acceleration and 3d functionality were all integrated into one chip renditions verite chipsets were among the first to do this well enough to be worthy of note in 1997 rendition went a step further by collaborating with hercules and fujitsu on a thriller conspiracy project which combined a fujitsu fxg1 pinolite geometry processor with a vrit v2200 core to create a graphics card with a full tl engine years before nvidias geforce 256 this card designed to reduce the load placed upon the systems cpu never made it to market opengl appeared in the early 90s as a professional graphics api but originally suffered from performance issues which allowed the glide api to step in and become a dominant force on the pc in the late 90s however these issues were quickly overcome and the glide api fell by the wayside software implementations of opengl were common during this time although the influence of opengl eventually led to widespread hardware support over time a parity emerged between features offered in hardware and those offered in opengl directx became popular among windows game developers during the late 90s unlike opengl microsoft insisted on providing strict onetoone support of hardware the approach made directx less popular as a standalone graphics api initially since many gpus provided their own specific features which existing opengl applications were already able to benefit from leaving directx often one generation behind see comparison of opengl and direct3d over time microsoft began to work more closely with hardware developers and started to target the releases of directx to coincide with those of the supporting graphics hardware direct3d 50 was the first version of the burgeoning api to gain widespread adoption in the gaming market and it competed directly with many morehardwarespecific often proprietary graphics libraries while opengl maintained a strong following direct3d 70 introduced support for hardwareaccelerated transform and lighting tl for direct3d while opengl had this capability already exposed from its inception 3d accelerator cards moved beyond being just simple rasterizers to add another significant hardware stage to the 3d rendering pipeline the nvidia geforce 256 also known as nv10 was the first consumerlevel card released on the market with hardwareaccelerated tl while professional 3d cards already had this capability hardware transform and lighting both already existing features of opengl came to consumerlevel hardware in the 90s and set the precedent for later pixel shader and vertex shader units which were far more flexible and programmable 2000 to 2010 nvidia was first to produce a chip capable of programmable shading the geforce 3 code named nv20 each pixel could now be processed by a short program that could include additional image textures as inputs and each geometric vertex could likewise be processed by a short program before it was projected onto the screen used in the xbox console it competed with the playstation 2 which used a custom vector dsp for hardware accelerated vertex processing commonly referred to vu0vu1 the earliest incarnations of shader execution engines used in xbox were not general purpose and could not execute arbitrary pixel code vertices and pixels were processed by different units which had their own resources with pixel shaders having much tighter constraints being as they are executed at much higher frequencies than with vertices pixel shading engines were actually more akin to a highly customizable function block and didnt really run a program many of these disparities between vertex and pixel shading wouldnt be addressed until much later with the unified shader model by october 2002 with the introduction of the ati radeon 9700 also known as r300 the worlds first direct3d 90 accelerator pixel and vertex shaders could implement looping and lengthy floating point math and were quickly becoming as flexible as cpus yet orders of magnitude faster for imagearray operations pixel shading is often used for bump mapping which adds texture to make an object look shiny dull rough or even round or extruded with the introduction of the geforce 8 series which was produced by nvidia and then new generic stream processing unit gpus became a more generalized computing device today parallel gpus have begun making computational inroads against the cpu and a subfield of research dubbed gpu computing or gpgpu for general purpose computing on gpu has found its way into fields as diverse as machine learning nvidias cuda platform first introduced in 2007 2010 to present in 2010 nvidia began a partnership with audi to power their cars dashboards these tegra gpus were powering the cars dashboard offering increased functionality to cars navigation and entertainment systems the kepler microarchitecture was manufactured on the 28nm process the ps4 and xbox one were released in 2013 they both use gpus based on amds radeon hd 7850 and 7790 nvidias kepler line of gpus was followed by the maxwell line manufactured on the same process 28nm chips by nvidia were manufactured by tsmc the taiwan semiconductor manufacturing company that was manufacturing using the 28nm process at the time compared to the 40nm technology from the past this new manufacturing process allowed a 20 percent boost in performance while drawing less power amd has also released for its highend market the vega gpus which also feature highbandwidth memory like the titan v gpu companies gpu manufacturers market share many companies have produced gpus under a number of brand names in 2009 intel nvidia and amdati were the market share leaders with 494 278 and 206 market share respectively however those numbers include intels integrated graphics solutions as gpus not counting those nvidia and amd control nearly 100 of the market as of 2018 their respective market shares are 66 and 33 produce gpus modern smartphones are also using mostly adreno gpus from qualcomm powervr gpus from imagination technologies and mali gpus from arm computational functions modern gpus use most of their transistors to do calculations related to 3d computer graphics in addition to the 3d hardware todays gpus include basic 2d acceleration and framebuffer capabilities usually with a vga compatibility mode newer cards like amdati hd5000hd7000 even lack 2d acceleration it has to be emulated by 3d hardware gpus were initially used to accelerate the memoryintensive work of texture mapping and rendering polygons later adding units to accelerate geometric calculations such as the rotation and translation of vertices into different coordinate systems recent developments in gpus include support for programmable shaders which can manipulate vertices and textures with many of the same operations supported by cpus oversampling and interpolation techniques to reduce aliasing and very highprecision color spaces because most of these computations involve matrix and vector operations engineers and scientists have increasingly studied the use of gpus for nongraphical calculations they are especially suited to other embarrassingly parallel problems with the emergence of deep learning the importance of gpus has increased in research done by indigo it was found that while training deep learning neural networks gpus can be 250 times faster than cpus the explosive growth of deep learning in recent years has been attributed to the emergence of general purpose gpus there has been some level of competition in this area with asics most prominently the tensor processing unit tpu made by google however these can require changes to existing code and gpus are still very popular gpu accelerated video decoding the ati hd5470 gpu above features uvd 21 which enables it to decode avc and vc1 video formats most gpus made since 1995 support the yuv color space and hardware overlays important for digital video playback and many gpus made since 2000 also support mpeg primitives such as motion compensation and idct this process of hardware accelerated video decoding where portions of the video decoding process and video postprocessing are offloaded to the gpu hardware is commonly referred to as gpu accelerated video decoding gpu assisted video decoding gpu hardware accelerated video decoding or gpu hardware assisted video decoding more recent graphics cards even decode highdefinition video on the card offloading the central processing unit the most common apis for gpu accelerated video decoding are dxva for microsoft windows operating system and vdpau vaapi xvmc and xvba for linuxbased and unixlike operating systems all except xvmc are capable of decoding videos encoded with mpeg1 mpeg2 mpeg4 asp mpeg4 part 2 mpeg4 avc h264 divx 6 vc1 wmv3wmv9 xvid opendivx divx 4 and divx 5 codecs while xvmc is only capable of decoding mpeg1 and mpeg2 video decoding processes that can be accelerated the video decoding processes that can be accelerated by todays modern gpu hardware are motion compensation mocomp inverse discrete cosine transform idct inverse telecine 32 and 22 pulldown correction inverse modified discrete cosine transform imdct inloop deblocking filter intraframe prediction inverse quantization iq variablelength decoding vld more commonly known as slicelevel acceleration spatialtemporal deinterlacing and automatic interlaceprogressive source detection bitstream processing contextadaptive variablelength codingcontextadaptive binary arithmetic coding and perfect pixel positioning gpu forms terminology in personal computers there are two main forms of gpus each has many synonyms dedicated graphics card also called discrete integrated graphics also called shared graphics solutions integrated graphics processors igp or unified memory architecture uma usage specific gpu most gpus are designed for a specific usage realtime 3d graphics or other mass calculations gaming geforce gtx rtx nvidia titan x radeon hd radeon r5 r7 r9 rx and vega series cloud gaming nvidia grid radeon sky workstation nvidia quadro nvidia titan x amd firepro radeon pro cloud workstation nvidia tesla amd firestream artificial intelligence cloud nvidia tesla radeon instinct automateddriverless car nvidia drive px dedicated graphics cards video card the gpus of the most powerful class typically interface with the motherboard by means of an expansion slot such as pci express pcie or accelerated graphics port agp and can usually be replaced or upgraded with relative ease assuming the motherboard is capable of supporting the upgrade a few graphics cards still use peripheral component interconnect pci slots but their bandwidth is so limited that they are generally used only when a pcie or agp slot is not available a dedicated gpu is not necessarily removable nor does it necessarily interface with the motherboard in a standard fashion the term dedicated refers to the fact that dedicated graphics cards have ram that is dedicated to the cards use not to the fact that most dedicated gpus are removable further this ram is usually specially selected for the expected serial workload of the graphics card see gddr sometimes systems with dedicated discrete gpus were called dis systems as opposed to uma systems see next section dedicated gpus for portable computers are most commonly interfaced through a nonstandard and often proprietary slot due to size and weight constraints such ports may still be considered pcie or agp in terms of their logical host interface even if they are not physically interchangeable with their counterparts technologies such as sli by nvidia and crossfire by amd allow multiple gpus to draw images simultaneously for a single screen increasing the processing power available for graphics integrated graphics the position of an integrated gpu in a northbridgesouthbridge system layout an asrock motherboard with integrated graphics which has hdmi vga and dvi outs integrated graphics shared graphics solutions integrated graphics processors igp or unified memory architecture uma utilize a portion of a computers system ram rather than dedicated graphics memory igps can be integrated onto the motherboard as part of the chipset or on the same die with the cpu like amd apu or intel hd graphics on certain motherboards however modern integrated graphics processors such as amd accelerated processing unit and intel hd graphics are more than capable of handling 2d graphics or low stress 3d graphics as a gpu is extremely memory intensive integrated processing may find itself competing with the cpu for the relatively slow system ram as it has minimal or no dedicated video memory igps can have up to 29856 gbs of memory bandwidth from system ram whereas a graphics card may have up to 264gbs of bandwidth between its ram and gpu core this memory bus bandwidth can limit the performance of the gpu hybrid graphics processing this newer class of gpus competes with integrated graphics in the lowend desktop and notebook markets the most common implementations of this are atis hypermemory and nvidias turbocache hybrid graphics cards are somewhat more expensive than integrated graphics but much less expensive than dedicated graphics cards these share memory with the system and have a small dedicated memory cache to make up for the high latency of the system ram technologies within pci express can make this possible while these solutions are sometimes advertised as having as much as 768mb of ram this refers to how much can be shared with the system memory stream processing and general purpose gpus gpgpu gpgpu and stream processing it is becoming increasingly common to use a general purpose graphics processing unit gpgpu as a modified form of stream processor or a vector processor running compute kernels this concept turns the massive computational power of a modern graphics accelerators shader pipeline into generalpurpose computing power as opposed to being hard wired solely to do graphical operations in certain applications requiring massive vector operations this can yield several orders of magnitude higher performance than a conventional cpu the two largest discrete see dedicated graphics cards above gpu designers amd and nvidia are beginning to pursue this approach with an array of applications both nvidia and amd have teamed with stanford university to create a gpubased client for the foldinghome distributed computing project for protein folding calculations in certain circumstances the gpu calculates forty times faster than the conventional cpus traditionally used by such applications gpgpu can be used for many types of embarrassingly parallel tasks including ray tracing they are generally suited to highthroughput type computations that exhibit dataparallelism to exploit the wide vector width simd architecture of the gpu furthermore gpubased high performance computers are starting to play a significant role in largescale modelling three of the 10 most powerful supercomputers in the world take advantage of gpu acceleration gpu supports api extensions to the c programming language such as opencl and openmp furthermore each gpu vendor introduced its own api which only works with their cards amd app sdk and cuda from amd and nvidia respectively these technologies allow specified functions called compute kernels from a normal c program to run on the gpus stream processors this makes it possible for c programs to take advantage of a gpus ability to operate on large buffers in parallel while still using the cpu when appropriate cuda is also the first api to allow cpubased applications to directly access the resources of a gpu for more general purpose computing without the limitations of using a graphics api since 2005 there has been interest in using the performance offered by gpus for evolutionary computation in general and for accelerating the fitness evaluation in genetic programming in particular most approaches compile linear or tree programs on the host pc and transfer the executable to the gpu to be run typically the performance advantage is only obtained by running the single active program simultaneously on many example problems in parallel using the gpus simd architecture acceleration can then be obtained by either interpreting multiple programs simultaneously simultaneously running multiple example problems or combinations of both a modern gpu can readily simultaneously interpret hundreds of thousands of very small programs some modern workstation gpus such as the nvidia quadro workstation cards using the volta and turing architectures feature dedicating processing cores for tensorbased deep learning applications in nvidias current series of gpus these cores are called tensor cores external gpu egpu an external gpu is a graphics processor located outside of the housing of the computer external graphics processors are sometimes used with laptop computers laptops might have a substantial amount of ram and a sufficiently powerful central processing unit cpu but often lack a powerful graphics processor and instead have a less powerful but more energyefficient onboard graphics chip onboard graphics chips are often not powerful enough for playing the latest games or for other graphically intensive tasks such as editing video therefore it is desirable to be able to attach a gpu to some external bus of a notebook pci express is the only bus commonly used for this purpose the port may be for example an expresscard or mpcie port pcie 1 up to 5 or 25 gbits respectively or a thunderbolt 1 2 or 3 port pcie 4 up to 10 20 or 40 gbits respectively those ports are only available on certain notebook systems external gpus have had little official vendor support however this has not stopped enthusiasts from implementing egpu setups sales in 2013 4383 million gpus were shipped globally and the forecast for 2014 was 4142 million texture mapping unit tmu render output unit rop brute force attack computer hardware computer monitor gpu cache manycore physics processing unit ppu tensor processing unit tpu ray tracing hardware vision processing unit vpu vector processor video card video display controller video game console virtualized gpu ai accelerator hardware comparison of amd graphics processing units comparison of nvidia graphics processing units comparison of intel graphics processing units intel gma larrabee nvidia purevideo the bitstream technology from nvidia used in their graphics chips to accelerate video decoding on hardware gpu with dxva soc uvd unified video decoder the video decoding bitstream technology from ati to support hardware gpu decode with dxva apis opengl api directx video acceleration dxva api for microsoft windows operatingsystem mantle api vulkan api video acceleration api va api vdpau video decode and presentation api for unix xvideo bitstream acceleration xvba the x11 equivalent of dxva for mpeg2 h264 and vc1 xvideo motion compensation the x11 equivalent for mpeg2 video codec only applications gpu cluster mathematica includes builtin support for cuda and opencl gpu execution molecular modeling on gpu deeplearning4j opensource distributed deep learning for java wikimedia commons has media related to graphics processing unit nvidia what is gpu computing the gpu gems book series a graphics hardware history how gpus work gpu caps viewer video card information utility opengpugpu architecturein chinese arm mali gpus overview gpu rendering magazine gpu hierarchy list authority control gnd 45821148 vtegraphics processing unitgpu adreno apple geforce quadro infinitereality intel gt mali powervr radeon pro voodoo architecture compute kernel graphics pipeline geometry vertex highdynamicrange rendering multiplyaccumulate operation rasterisation raytracing simd simt tessellation tiled rendering transform clipping and lighting unified shader model components shader unit texture mapping unit render output unit tensor unit inputoutput memory management unit stream processor geometry processor video display controller video processing unit memory direct memory access framebuffer gddr sdram gddr3 gddr4 gddr5 gddr6 high bandwidth memory memory bandwidth memory controller shared graphics memory form factor ip core discrete graphics clustering switching external graphics integrated graphics system on a chip performance clock rate display resolution fillrate pixels texels flops frame rate performance per watt transistor count misc asic gpgpu graphics library hardware acceleration image processing parallel computing vector processor video codec vliw vtehardware accelerationtheory universal turing machine parallel computing distributed computing applications gpu gpgpu directx audio digital signal processing hardware random number generation artificial intelligence cryptography ssl machine vision custom hardware attack scrypt networking implementations highlevel synthesis c to hdl fpga asic cpld system on chip network on chip architectures data flow transport triggered multicore manycore heterogeneous inmemory computing systolic array neuromorphic related programmable logic processor design chronology digital electronics virtualization hardware emulation logic synthesis embedded systems 