- Joined
- Jan 28, 2020
- Messages
- 4,563 (2.74/day)
- Location
- Ex-usa | slava the trolls
While AMD's return to competition has certainly pushed some extra focus on more cores, which to some extent is useful, many are forgetting that there were plans of 6-core Skylake before details of Zen was known to the public. While Intel's 14nm node is very good today, it was terrible in the beginning.
Those who understands how code works knows it's the type of workload which limits the scaling potential. Asynchronous workloads, like large encoding workloads, non-realtime rendering, and many server workloads can scale nearly linearly until you reach a hardware or OS bottleneck. Synchronous workloads however, like most applications and certainly games, will have more limited scaling potential and will sooner or later reach a point of diminishing returns, precisely where this limit resides depends on the workload, and can't really be eliminated even if you wanted to. Games for instance can't keep scaling the frame rate up to 16 threads, not today and not 10 years from now. More cores are certainly useful to offload background tasks and let the game run undisturbed, but games will not need more than 2-3 threads to feed the GPU(except edge cases) and a few threads to do game simulation, network, audio etc. Beyond that, increasing the thread count for the game will only add synchronization overhead, and considering modern game engines run at tick rates ~100-200 Hz, there is not a lot of CPU time in each iteration.
As any good programmer can tell you; doing multithreading well is hard, and doing multithreading badly is worse than no multithreading at all. And just because an application spawns extra threads doesn't mean it benefits performance.
Well, it seems the majority of work is done purely by the GPUs, while the CPUs are responsible for supportive tasks like running the OS.
But with so powerful 16-core Ryzen CPUs, the programmers can start realising that they can offload the heavy work off the GPU and force it on the CPU.
Physics, AI, etc. All need CPU acceleration.