Hardware Upgrade - www.hwupgrade.com Hardware Upgrade - www.hwupgrade.com
Channel
Home
Articles
News
Search
CPU
Video
Mobile
Memory
Software
Cases/Cooling
Internet
Trade Shows
Storage
Motherboard
Italian Version Italian Version
RSS
A Brief Introduction to GPGPU

A Brief Introduction to GPGPU

Author: Paolo Corsini   07/09/2007 9:31:03 PM CST
Category: Video
Printable Version
Add to del.icio.us
Untitled Document

GPGPU: during the last year this acronym, which stands for General Purpose Graphics Processing Unit, has spawned numerous debates and discussions regarding the future of the graphics processing unit (GPU) along with that of NVIDIA and ATI. These debates peaked towards the launch of the new generation of graphics architectures, as both NVIDIA and AMD completely changed their approaches to the Graphics Processing Unit (GPU), designing their products for more general purpose calculations. Stating it briefly, GPGPU is a combination between hardware components and software that allows the use of a traditional GPU to perform computing tasks that are extremely demanding in terms of processing power. Traditional CPU architectures available on the market cannot satisfy the processing demands for these specific tasks, and thus the market has moved on to GPGPU in order to achieve greater efficiency.

General purpose computing on the GPU has greatly benefited from the new architectural approach GPU manufacturers have taken in their latest GPUs. In specific, these new GPU architectures come with a high grade of programmability, something not previously found in older generations of GPU architectures. Thanks to its broader range of programmability, the graphics processing unit has now been opened up to many kinds of applications and code.

Although GPGPU attempts were made in the past, they weren't very successful primarily because previous GPU architectures were very difficult to program for parallel processing. NVIDIA first took a jab at GPGPU five years ago when its chips became programmable. Although graphics API gave access to the GPU, it took a large amount of effort and work to effectively program the GPU for general purpose computing. For this reason many companies decided against coding for the GPU. Thus, when the G8x series was still in development NVIDIA made sure to include GPGPU as a goal for the product. As a result of its research, NVIDIA ended up making its new series of GPUs much more flexible and programmer friendly.

Graphics Processing Units are not suitable for every type of application. Some applications benefit from its use more than others do. Besides, if GPUs were suitable for every kind of application, they would be used in a much larger variety of fields than they are today, making CPUs nearly obsolete. GPUs are very efficient when it comes to matrix arithmetic and other parallel data operations. However, when it comes to everyday computing tasks, such as running an operating system or word processor, the efficiency of the GPU is found to be lagging. The approach for programmers has so far required them to view the CPU and GPU as two separate devices. While the CPU runs the logic of the algorithm, the GPU works on the more data-intensive computation parts. As a whole, the system is complementary with the CPU and GPU working together.

As we have already established, GPUs are particularly well suited for parallel processing, a situation typically found in medical imaging, generic patterns analysis, search for oilfields and natural resources, and analysis of financial risk calculation patterns. On the other hand, using GPUs for databases, data compression, recursive algorithms, and processes that require a high logical control of calculation is not ideal. A traditional CPU architecture would be far more efficient in this situation.

We can roughly explain the difference between a GPU and CPU by using a metaphor. A CPU is like a fighter plane, and a GPU is like an airliner. While the fighter plane (the CPU) is faster than the airliner, it carries a smaller amount of people. The airliner, on the other hand, although slower than the fighter jet, carries a larger amount of passengers in one flight. In the case of airplanes, the efficiency depends on the task. A fighter jet wouldn’t be efficient for carrying a large load of passengers. On the other hand, an airliner wouldn’t be efficient for an air raid. The same rule applies to CPUs and GPUs. Both the CPU and GPU can be more efficient according to the types of results that are being pursued. The efficiency depends entirely on the task and the intended results.

GPGPU server

What are the benefits of using a GPU for processes that are not related to 3D graphics? The answer can be divided in various parts:

* Many preliminary case studies are showing large performance benefits in parallel coded applications. From what these companies that have used GPGPU are saying, performance benefits in certain parallel coded applications are quite impressive. In fact, the results are so impressive that it is nearly hard to believe. In some cases, we have been told that performance of a GPGPU system is nearly 100 times higher than compared to a traditional CPU system. Therefore, the performance increase is not only a few percentage points, or a just a double in performance, but in some situations the GPU clearly performs better compared to a traditional CPU-based high performance computer.

* purchase price: the prices of GPUs are somewhat similar to the market price of CPUs. It will always be true that in order to use a GPU for processing, a CPU is also required. This does not, however, mean that GPGPU has hit a snag. Comparing the price to create a GPGPU system, and the cost to create a CPU-based high performance computer that has the same processing power, the price of the GPGPU system ends up being much lower. This is a large advantage GPGPU has. In some cases, it would take multiple CPUs to match the performance of a GPGPU system. This means that in terms of cost, the GPGPU is a smarter choice. Remember, though, that this completely relies on the specific task at hand.

* Technology refresh rate: GPU manufacturers develop new GPUs with a refresh rate that is much faster compared to that of the CPU market. Major CPU architectural changes take place, at its bare minimum, every 2 years. On the other hand, in the GPU market manufacturers release an architectural refresh each 12-18 months, improving the performance of the architecture. The advantage the GPU has in this case is rather obvious, as its core technology is updated more frequently than that of the CPUs’.

* consumption vs. performance: GPUs have become more power hungry than ever before. CPUs, even those with quad-core architectures, have lower power consumption levels than GPUs. What is important to remember, though, is that GPGPU systems, given that they are applied properly, take much less time to perform certain parallel-coded applications. This means that although the GPU consumes more power, the consumption will even out since most CPUs would take much longer to perform the task. This does not mean, however, that GPU manufacturers are able to go home free without worrying about power efficiency. As GPGPU matures, we will most likely see companies demand lower power consumption for the products they are buying. Nevertheless, at the moment GPGPU systems are able to create a compelling compromise between power and performance.

The GPGPU market has experienced tremendous growth in the past few years. It has also received interest from many large companies. Without doubt, GPGPU is an important opportunity for GPU manufacturers and creates a new market for them to grow in. Since GPGPU has received so much interest from companies, it is no surprise that Intel is also trying to enter the market with its own graphics architecture, known as Larrabee. Little information has been revealed by Intel regarding its Larrabee GPU, however, it is certain that Intel is intending to target the newly created GPGPU market. Since last year ATI has released a number of GPUs based on the Radeon X1950 architecture targeted specifically at general purpose computing. We are talking about ATI’s Stream Processing brand, which has now become a part of AMD’s line of products following the acquisition of ATI. NVIDIA recently released its Tesla line of products, which is also designed specifically for GPGPU computing.


Privacy  -  Advertise with us  -  About
Copyright 1997 - 2008 - Hardware Upgrade S.r.l. - V.A.T.: 02560740124