Changes

Jump to: navigation, search

GPU

879 bytes added, 18:16, 13 September 2020
m
History: oldschool
=History=
In the early 1970s and 1980sRAM was expensive and Home Computers used custom graphics chips to operate directly on registers/memory without a dedicated frame buffer, chips such as like [https://en.wikipedia.org/wiki/Television_Interface_Adaptor TIA]in the Atari VCS gaming system, [https://en.wikipedia.org/wiki/CTIA_and_GTIA GTIA]+[https://en.wikipedia.org/wiki/ANTIC ANTIC ] in the Atari 400/800 series, or [https://en.wikipedia.org/wiki/Original_Chip_Set#Denise Denise] would take a lot of +[https://en.wikipedia.org/wiki/Original_Chip_Set#Agnus Agnus] in the mechanics of video processing (waiting for scanlines and processing other TV or monitor signals)Commodore Amiga series. The 1990s would make 3d 3D graphics and 3d 3D modeling more popular, especially for video games. Cards specifically designed to accelerate 3d 3D math, such as the [https://en.wikipedia.org/wiki/Voodoo2 3dfx Voodoo2], were used by the video game community to play 3d 3D graphics. Some other game engines, such as Quake, would could use instead use the SIMD-capabilities of CPUs such as the Intel MMX instruction setor AMD's 3DNow!. Sony's 3D capable chip used in the PlayStation (1994) and Nvidia's 2D/3D combi chips like NV1 (1995) coined the term GPU for 3D graphics hardware acceleration. With the advent of the [https://en.wikipedia.org/wiki/Unified_shader_model unified shader architecture], like in Nvidia [https://en.wikipedia.org/wiki/Tesla_(microarchitecture) Tesla] (2006), ATI/AMD [https://en.wikipedia.org/wiki/TeraScale_(microarchitecture) TeraScale] (2008) or Intel [https://en.wikipedia.org/wiki/Intel_GMA#GMA_X3000 GMA X3000] (2006) GPGPU frameworks like CUDA and OpenCL emerged and gained in popularity.
The large number of regular matrix multiplications led to natural SIMD-style algorithms. The 3d 3D graphics community drew upon the rich history of vector-compute and SIMD-compute from 1980s and 1970s supercomputers. As such, many publications relating to Cray-vector supercomputers or the Connection Machine supercomputer easily apply to modern GPUs. For example, all the algorithms described in the 1986 publication "[https://dl.acm.org/citation.cfm?id=7903 Data Parallel Algorithms]" can be efficiently executed on a modern GPU workgroup (roughly ~256x GPU threads). The Data Parallel Algorithms paper is a beginner-level algorithms paper, demonstrating simple and efficient parallel-prefix sum, parallel-linked list traversal, parallel RegEx matching on the 4096x parallel Connection Machine-2 supercomputer.
Modern papers on GPUs, such as Nvidia's excellent [https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch39.html Chapter 39. Parallel Prefix Sum (Scan) with CUDA (GPU Gems 3)], are built on top of these papers from the 1980s or 1990s. As such, the beginner will find it far easier to read the papers from the 1980s or 90s before attempting to read a modern piece like GPU Gems 3.
422
edits

Navigation menu