Asked 8 year ago. However, I'd like to try to explain it.
SIMD ==> Basically, it's a processor's technology that allows you to improve parallel processing efficiency (It makes your pc operations faster than usual).
OBS N1: you can use bigger data types (bigger than standard C data types (since SSE)).
(Exemple)
Let's say you are creating a x64 2D game in C (Visual Studio + Windows API). You got yourself a; window, Pixel struct (defining what a RGB pixel is, for exemple), backbuffer, GameBITMAP struct, gameloop, etc. Whenever rendering your game, your pc will take a lot of time (costing you performance) if one single pixel is "painted" at a time, right? What if there was a way to "paint" more pixels at a time? Well, there is. By using SIMD you're able to do it.
Now, here is a very simple question (that comes with two): "How many pixels can you 'paint' at a time? And how fast?"
The awnser is the same for both them: That's up to your processor.
If your processor is from 2004 or newer, It probably supports MMX and SSE technology. For exemple, by using SSE3 (a member of the SSE family), you're able to do the same operation of "painting" pixels (with a max data type value of 16bytes/128bits).
So, if your processor supports even more modern technogy, say something from AVX family (of course, with AVX, you still can use MMX and SSE). You will able to do even more operations with bigger data types (max 256bits/32 bytes)(more pixels "painted" at a time).
Technologies (some of them)
MMX ==> Old stuff. Sometimes useful. (64 bits).
SSE family ==> Old but gold. Now, we're talking! (64 bits; 128 bits).
AVX family ==> The first member came out in 2011. Not too old. (128 bits; 256 bits)
OBS N2 (convention): GPU's/CPU's or processor (yes, I know they do different stuff).
[Important] OBS N3: SIMD's impact on performance varies depending on the specific tasks, algorithms, and the SIMD instructions supported by the processor.
Useful for (exemples): video games, video processing, image processing, etc.
Not so useful for (exemples): code that’s not performance critical, a language that doesn’t have a good SIMD support, etc.
If there is anything wrong on my comment. Please, let me know.
I'd like to credit (source info):
#1) The Intel Intrinsics Guide
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=6577
#2) SIMD for C++ Developers © 2019-2021 Konstantin http://const.me/articles/simd/simd.pdf#:~:text=The%20acronym%20stands%20for%20%E2%80%9Csingle%20instruction%2C%20multiple%20data%E2%80%9D.,hold%20these%20multiple%20values%20in%20a%20single%20register.
#3) Ryan Ries - EP0011 - Importing functions from DLLs and intro to SIMD - Making a video game from scratch in C
https://www.youtube.com/watch?v=DGY28XLcTcM&list=PLlaINRtydtNWuRfd4Ra3KeD6L9FP_tDE7&index=11