Computing In the GPU vs. CPU
From this video:
Pros of using the GPU to compute:
- Since the GPU has thousands of processors (vs. a handful for the CPU), it computes certain things incredibly quickly like graphics, neural networks.
- Furthermore, it computes these things in parallel.
Cons of using the GPU to compute:
- It takes a long time to move data from the CPU to the GPU, so for small tasks it's not worth it and could take up more time to compute them in the GPU.
- The GPU can only compute specific things. Limitations being it has to be done in parallel and the system architecture must support it (e.g. CUDA for Nvidia)
TL;DR When should the GPU be used to compute things?
Should be used for large, specific computations like image rendering. [TODO incl. more examples]
Fun fact: NVIDIA's CUDA library is over 10 years old. They predicted that AI would exist and would use GPU's to help compute large things a looooong time ago. That's crazy.
Intro to GPU's, difference in design in devices
From this video:
GPU's in computers vs. phones vs. other devices
- For PC's and some gaming consoles you can have multiple GPU's.
- In smartphones you will have a small GPU, in some cases partially or neatly integrated with the CPU.
CPU vs. GPU:
- Main difference is that the CPU is serial, GPU does parallel computing only.
GPU Shader Cores/How much work can be done in parallel
- GPU's have a ton of shading cores (usually 16? maybe find out)