This post is also available in: हिन्दी (Hindi)
While GPUs were initially popular with video editing and computer gaming enthusiasts, the rapid growth of cryptocurrencies created a new market. This is because cryptocurrency mining requires thousands of calculations in order to add transactions to a blockchain, which is something that could be profitable with access to a GPU and an inexpensive supply of electricity.
As we know a central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logic, control, and input/output (I/O) operations specified by the instructions. The term has been used in the computer industry at least since the early 1960s. Traditionally, the term “CPU” refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.
The form, design, and implementation of CPUs have changed over the course of their history, but their fundamental operation remains almost unchanged. Principal components of a CPU include the arithmetic logic unit (ALU) that performs arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and “executes” them by directing the coordinated operations of the ALU, registers and other components.
What is GPU?
(Graphics Processing Unit) A programmable processor specialized for rendering all images on the computer’s screen. A GPU provides the fastest graphics processing, and for gamers, the GPU is a stand-alone card plugged into the PCI Express (PCIe) bus. GPU circuitry can also be part of the motherboard chipset or on the CPU chip itself.
A GPU performs parallel operations. Although it is used for 2D data as well as for zooming and panning the screen, a GPU is essential for the smooth decoding and rendering of 3D animations and video. The more sophisticated the GPU, the higher the resolution and the faster and smoother the motion. GPUs on stand-alone cards include their own memory, while GPUs built into the chipset or CPU chip share the main memory with the CPU.
What Does a GPU Do?
The graphics processing unit, or GPU, has become one of the most important types of computing technology, both for personal and business computing. Designed for parallel processing, the GPU is used in a wide range of applications, including graphics and video rendering. Although they’re best known for their capabilities in gaming, GPUs are becoming more popular for use in creative production and artificial intelligence (AI).
GPUs were originally designed to accelerate the rendering of 3D graphics. Over time, they became more flexible and programmable, enhancing their capabilities. This allowed graphics programmers to create more interesting visual effects and realistic scenes with advanced lighting and shadowing techniques. Other developers also began to tap the power of GPUs to dramatically accelerate additional workloads in high-performance computing (HPC), deep learning, and more.
History of GPU
Back in 1999, NVIDIA popularized the term “GPU” as an acronym for graphics processing unit, although the term had been used for at least a decade prior to marketing the GeForce 256. However, the GPU was actually invented years before NVIDIA launched their proprietary NV1 and, later, the video card to rule them all.
1980s: Before there was the graphics card we know today, there was little more than a video display card. IBM made and introduced the Monochrome Display Adapter (MDA) in 1981. The MDA card had a single monochrome text mode to allow high-resolution text and symbol display at 80 x 25 characters, which was useful for drawing forms. However, the MDA did not support graphics of any kind. One year later, Hercules Computer Technology debuted the Hercules Graphics Card (HGC), which integrated IBM’s text-only MDA display standard with a bitmapped graphics mode. By 1983, Intel introduced the iSBX 275 Video Graphics Controller Multimodule Board, which was capable of displaying as many as eight unique colors at 256 x 256 resolution.
Just after the release of MDA video display cards, IBM created the first graphics card with a full-color display. The Color Graphics Card (CGC) was designed with 16 kB of video memory, two text modes, and the ability to connect to either a direct-drive CRT monitor or an NTSC-compatible television. Shortly thereafter, IBM invented the Enhanced Graphics Adapter (EGA) that could produce a display of 16 simultaneous colors at a screen resolution of 640 x 350 pixels.
Just three years later, the EGA standard was made obsolete by IBM’s Video Graphics Adapter (VGA). VGA supported all points addressable (APA) graphics and alphanumeric text modes. VGA is also known as Video Graphics Array as a result of its single-chip design. It didn’t take long for clone manufacturers to start producing their own VGA versions. In 1988, ATi Technologies developed the ATi Wonder as part of a series of add-on products for IBM computers.
1990s: Once IBM faded from the forefront of formative PC development, many companies began developing cards with more resolution and color depths. These video cards were advertised as Super VGA (SVGA) or even Ultra VGA (UVGA), but both terms were too ambiguous and simplistic. 3dfx Interactive introduced the Voodoo1 graphics chip in 1996, gaining initial fame in the arcade market and eschewing 2D graphics altogether. This hardcore hardware led to the 3D revolution.
Within one year, the Voodoo2 was released as one of the first video cards to support the parallel work of two cards within a single PC. NVIDIA entered the scene in 1993, but they didn’t earn a reputation until 1997 when they released the first GPU to combine 3D acceleration with traditional 2D and video acceleration. RIVA 128 did away with the quadratic texture mapping technology of the NV1 and featured upgraded drivers.
Finally, the term “GPU” was born. NVIDIA shaped the future of modern graphics processing by debuting GeForce 256. According to the NVIDIA definition, the graphics processor is a “single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines that is capable of processing a minimum of 10 million polygons per second.” The GeForce 256 improved on the technology offered by RIVA processors by taking a large leap in 3D gaming performance.
2000s: NVIDIA went on to release the GeForce 8800 GTX with a texture-fill rate of 36.8 billion per second. By 2009, ATI released the colossal Radeon HD 5970 dual-GPU card before being taken over by AMD. At the dawn of virtual reality in consumer technology, NVIDIA developed the GeForce Titan, which has become the forerunner of graphics technology since. NVIDIA sees multi-chip GPU architecture as the future of graphics processing, but the possibilities are endless.
How Does a GPU Works?
A GPU may be found integrated with a CPU on the same electronic circuit, on a graphics card, or in the motherboard of a personal computer or server. GPUs and CPUs are fairly similar in construction. However, GPUs are specifically designed for performing more complex mathematical and geometric calculations. These calculations are necessary to render graphics. GPUs may contain more transistors than a CPU.
GPUs will use parallel processing, where multiple processors handle separate parts of the same task. A GPU will also have its own RAM (random access memory) to store data on the images it processes. Information about each pixel is stored, including its location on the display. A digital-to-analog converter (DAC) is connected to the RAM and will turn the image into an analog signal so the monitor can display it. Video RAM will typically operate at high speeds.
GPUs will come in two types: integrated and discrete. Integrated GPUs come embedded alongside the GPU, while discrete GPUs can be mounted on a separate circuit board.
For companies that require heavy computing power, or work with machine learning or 3D visualizations, having GPUs fixated in the cloud may be a good option. An example of this is Google’s Cloud GPUs, which offer high-performance GPUs on Google Cloud. Hosting GPUs in the cloud will have the benefits of freeing up local resources, saving time, cost, and scalability. Users can choose between a range of GPU types while gaining flexible performance based on their needs.
Difference Between CPU and GPU
CPUs and GPUs have a lot in common. Both are critical computing engines. Both are silicon-based microprocessors. And both handle data. But CPUs and GPUs have different architectures and are built for different purposes.
The CPU is suited to a wide variety of workloads, especially those for which latency or per-core performance is important. A powerful execution engine, the CPU focuses its smaller number of cores on individual tasks and on getting things done quickly. This makes it uniquely well equipped for jobs ranging from serial computing to running databases.
GPUs began as specialized ASICs developed to accelerate specific 3D rendering tasks. Over time, these fixed-function engines became more programmable and more flexible. While graphics and the increasingly lifelike visuals of today’s top games remain their principal function, GPUs have evolved to become more general-purpose parallel processors as well, handling a growing range of applications.
CPU vs GPU Computing
While GPUs can process data several orders of magnitude faster than a CPU due to massive parallelism, GPUs are not as versatile as CPUs. CPUs have large and broad instruction sets, managing every input and output of a computer, which a GPU cannot do. In a server environment, there might be 24 to 48 very fast CPU cores. Adding 4 to 8 GPUs to this same server can provide as many as 40,000 additional cores.
While individual CPU cores are faster (as measured by CPU clock speed) and smarter than individual GPU cores (as measured by available instruction sets), the sheer number of GPU cores and the massive amount of parallelism that they offer more than make up the single-core clock speed difference and limited instruction sets.
GPUs are best suited for repetitive and highly parallel computing tasks. Beyond video rendering, GPUs excel in machine learning, financial simulations, risk modeling, and many other types of scientific computations. While in years past, GPUs were used for mining cryptocurrencies such as Bitcoin or Ethereum, GPUs are generally no longer utilized at scale, giving way to specialized hardware such as Field-Programmable Grid Arrays (FPGA) and then Application-Specific Integrated Circuits (ASIC).
Can a System Have Both CPU and GPU?
A CPU (central processing unit) works together with a GPU (graphics processing unit) to increase the throughput of data and the number of concurrent calculations within an application. GPUs were originally designed to create images for computer graphics and video game consoles, but since the early 2010s, GPUs can also be used to accelerate calculations involving massive amounts of data.
A CPU can never be fully replaced by a GPU: a GPU complements CPU architecture by allowing repetitive calculations within an application to be run in parallel while the main program continues to run on the CPU. The CPU can be thought of as the taskmaster of the entire system, coordinating a wide range of general-purpose computing tasks, with the GPU performing a narrower range of more specialized tasks (usually mathematical). Using the power of parallelism, a GPU can complete more work in the same amount of time as compared to a CPU.
Applications of GPU
Today, graphics chips are being adapted to a wider variety of tasks than originally designed for, partially because modern GPUs are more programmable than they were in the past.
Some examples of GPU use cases include:
- GPUs can accelerate the rendering of real-time 2D and 3D graphics applications.
- Video editing and the creation of video content have improved with GPUs. Video editors and graphic designers, for example, can use the parallel processing of a GPU to make the rendering of high-definition video and graphics faster.
- Video game graphics have become more intensive computationally, so in order to keep up with display technologies — like 4K and high refresh rates –, emphasis has been put on high-performing GPUs.
- GPUs can accelerate machine learning. With the high computational ability of a GPU, workloads such as image recognition can be improved.
- GPUs can share the work of CPUs and train deep learning neural networks for AI applications. Each node in a neural network performs calculations as part of an analytical model. Programmers eventually realized that they could use the power of GPUs to increase the performance of models across a deep learning matrix — taking advantage of far more parallelism than is possible with conventional CPUs. GPU vendors have taken note of this and now create GPUs for deep learning uses in particular.
- GPUs have also been used to mine bitcoin and other cryptocurrencies like Ethereum.