CPU: Central processing unit. GPU: Graphics processing unit.
Previously GPU’s only aim was to accelerate the graphics processing but now GPU also supports calculations like CPU. The main difference we can say CPU has ability to run tasks but GPU is more specific on the tasks side, especially as we said they were created for graphical purpose. They can now support CPU but cannot be spare for CPU.
Mainly for the specific work GPU is working on, GPU can do faster compared to CPU. But as we said, this is a specific work. And GPUs do that with the help of parallelism. This parallelism or parallel computing structure lets GPU to render graphics faster compared to CPUs. Simply parallelism helps GPU to do those specific tasks (e.g. graphics) simultaneously and multiple tasks at a time.
Please check the below Mythbusters demo shared by Nvidia which shows really great what is the difference;
Simply from the video we can easily see that parallelism and multiple task issue. The first painting machine which is shown as CPU could only draw a smiley by painting the pixels one by one. But on the other hand GPU did better (Mona Lisa compared to CPU’s smiley 🙂 ) and it did that really fast. Because GPU fired multiple pixel painters at the same time simultaneously.
As we said previously GPUs were designed moslty for the graphical rendering but nowadays can be used for data science, financial simulations and some machine learning purposes as well.
Another important usage of GPUs is for crypto currency mining. Previously CPUs were able to mine but nowadays they are not capable but GPUs are still can be used. But be aware that their capability is also decreasing.
Simply as a result we can say CPU is for general purpose computing and it has sequential logic for calculations. On the other hand GPU has parellelism and it is used for specific applications.