Difference between a CPU and a GPU

A CPU is a general-purpose processor. It can in principle do any computation, but not always in the best way for that computation. You can do graphics on a CPU. A GPU built for the job will usually finish sooner.

A GPU is a special-purpose processor, tuned for the calculations computer graphics repeat, especially SIMD work.

MIMD, the shape associated here with the CPU

Many actions happen at once on many pieces of data. Adding and multiplying at the same time to solve a problem with separate parts is the example used in the original note. The work may or may not be synchronized. MIMD is used when an algorithm splits into independent parts and each part goes to a different processor.

SIMD, the shape associated here with the GPU

One identical action runs at the same time on many pieces of data: retrieve, calculate, or store. Fetching multiple files at once is the example used in the original note. Processors with their own local data execute the same instruction in step, and they communicate to shift work around. SIMD is used when a lot of computation is the same operation done in parallel.

Archive note, October 2017. Newer writing here is on VMware Cloud Foundation, Avi, and NSX.

Leave a Reply