Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Feasibility of GPU as a CPU? [closed]

Tags:

cpu

cuda

gpgpu

gpu

What do you think the future of GPU as a CPU initiatives like CUDA are? Do you think they are going to become mainstream and be the next adopted fad in the industry? Apple is building a new framework for using the GPU to do CPU tasks and there has been alot of success in the Nvidias CUDA project in the sciences. Would you suggest that a student commit time into this field?

like image 976
AutomaticPixel Avatar asked Aug 26 '08 14:08

AutomaticPixel


People also ask

Could a GPU be used in place of a CPU?

Although a GPU is capable of processing many complex tasks, it cannot be used in place of a CPU. This is because a GPU is not built to run operating systems and everyday computational functions. They are designed to process tasks relating to graphics, videos and content instead.

Is GPU more powerful than CPU?

Due to its parallel processing capability, a GPU is much faster than a CPU. For the hardware with the same production year, GPU peak performance can be ten-fold with significantly higher memory system bandwidth than a CPU. Further, GPUs provide superior processing power and memory bandwidth.

What wears out a GPU?

Moisture buildup on the card causing component damage. Overheating caused by too much dirt or debris stuck on the cooling-components. Overheating caused by broken or worn bearings on the cooling fans. Running the graphics card on games with incompatible software drivers.

Can a computer run with just a GPU?

Practically speaking, however, a GPU isn't an entire system. Even if you wrote an operating system that ran on the GPU, it simply doesn't have the hardware to interface with peripherals or do many of the things we expect of a practical computer. And even if it did, it would perform terribly.


1 Answers

Commit time if you are interested in scientific and parallel computing. Don't think of CUDA and making a GPU appear as a CPU. It only allows a more direct method of programming GPUs than older GPGPU programming techniques.

General purpose CPUs derive their ability to work well on a wide variety of tasks from all the work that has gone into branch prediction, pipelining, superscaler, etc. This makes it possible for them to achieve good performance on a wide variety of workloads, while making them suck at high-throughput memory intensive floating point operations.

GPUs were originally designed to do one thing, and do it very, very well. Graphics operations are inherently parallel. You can calculate the colour of all pixels on the screen at the same time, because there are no data dependencies between the results. Additionally, the algorithms needed did not have to deal with branches, since nearly any branch that would be required could be achieved by setting a co-efficient to zero or one. The hardware could therefore be very simple. It is not necessary to worry about branch prediction, and instead of making a processor superscaler, you can simply add as many ALU's as you can cram on the chip.

With programmable texture and vertex shaders, GPU's gained a path to general programmability, but they are still limited by the hardware, which is still designed for high throughput floating point operations. Some additional circuitry will probably be added to enable more general purpose computation, but only up to a point. Anything that compromises the ability of a GPU to do graphics won't make it in. After all, GPU companies are still in the graphics business and the target market is still gamers and people who need high end visualization.

The GPGPU market is still a drop in the bucket, and to a certain extent will remain so. After all, "it looks pretty" is a much lower standard to meet than "100% guaranteed and reproducible results, every time."

So in short, GPU's will never be feasible as CPU's. They are simply designed for different kinds of workloads. I expect GPU's will gain features that make them useful for quickly solving a wider variety of problems, but they will always be graphics processing units first and foremost.

It will always be important to always match the problem you have with the most appropriate tool you have to solve it.

like image 89
mch Avatar answered Oct 05 '22 09:10

mch