The above is mostly on point. The only thing I would add is that a GPU is good at a lot more than just matrix operations. In general, they’re good at Single Instruction Multiple Data (SIMD) operations, where matrix multiplication is just one such example.GPUS are like a Formula 1 car. It will absolutely blow everything else out of the water for a very specific task. However if an F1 car would be absolutely useless for going shopping with your family.
A CPU is like a big family SUV, it can pretty much do everything to a reasonable degree to some level. It can go quite fast, it can go a lot of places, you can put more people and items in it.
To get more technical, GPUS are processors optimised for parallel computing. The math required to calculate what a 3D object should look like on a screen is easily run in parallel, so GPUs were developed to take advantage of it. CPUs on the other hand can handle things like networking, AI, application state computations, IO and so on much better than a GPU can.
To get to a math level, which is really what computers are doing, GPUs are processors designed to perform matrix algebra as fast as possible, if you can express your problem in the form of matrices, a GPU will absolutely demolish it. If you cannot express your problem in terms of matrix operations, then a regular CPU will be much faster.
Why GPUs are getting a lot of attention is because a lot of problems can be expressed in the form of matrix operations. Simulations, machine learning, graphics, are all very matrix intensive calculations, thus faster GPUs means more powerful simulations, better graphics and more useful machine learning models.
Last edited: