GPUs have a lot of cores that are very simple. CPUs have a few cores that are very sophisticated.
Often it’s not practical to split up the work to run on lots of simple cores, so CPUs are better. For example, one core can’t make a decision based on what another core is doing, so if you have a long list of decisions, it has to happen on the same core.
because workloads that happen on GPU are easily paralleled, unlike workload CPU handles
there’s Amdahls law that defines performance boost you can get from increasing thread count, and for example if your parallelization is at 50% there’s no increase in performance over 16 threads
for computation tasks (that’s what GPU does all the time) you can parallel almost perfectly, you just feed them tasks and take end result
problem is, most of your daily tasks aren’t purely computation as you always put in new data and tasks, like in gaming there’s constant user input that changes what’s needed to be calculated
that’s why AMD CPUs show good results in synthetic benchmarks, but in gaming even low core count high clock intel CPUs get better results
Latest Answers