[ELI5] Why is SIMD still important to include in a CPU. When GPUs exist and serve the exact same purpose?

256 viewsOtherTechnology

SIMD to my understanding is supposed to accelerate 3D Processing and other multimedia processing. GPUs do the exact same thing but instead they’re dedicated into doing that role. I heard SIMD is an early attempt to make 3D Processing possible on CPUs

“GPU is a compute device which implements a SIMD (Single Instruction Multiple Data) in a much more multi-threaded fashoin, in fact SIMD is coined as SIMT (Single Instruction, Multiple Thread) in a GPU. So basically GPU is a an extension of the SIMD paradigm with large scale multi-threading, streaming memory and dynamic scheduling”

-Gary Cole, Quora

Unless I’m wrong. And there are many other things SIMD can be useful for other than Multimedia use and can help with traditional CPU tasks like integer operations but I have not found any info of SIMD being used outside of Multimedia use. It could do operations related to Audio which is very handy but couldn’t they instead be handled by a Digital Signal Processing?

My understanding of computer science is limited so I may gather a ton of knowledge to learn with this post

In: Technology

5 Answers

Anonymous 0 Comments

GPUs are insane at crunching humongous data sets.

But doing work on a GPU requires copying data into (then out of) its memory. This takes time, there’s a lot of overhead.

It’s often much faster to do smaller datasets on the CPU. Small enough that the time to do the work on the CPU might be less than the time it takes to even write/read data to the GPU. (Because there is overhead to even talk to the GPU)

Accelerating those tasks with SIMD makes them faster still.

The less time you have waiting on memory transfers and GPUs the better.

You are viewing 1 out of 5 answers, click here to view all answers.