Intel Unveils Alder Lake Development Guide For Hybrid Architecture Optimization
Intel's Alder Lake launch is coming; are you ready? The new processors signal what Intel hopes will be a sea change in the market toward hybrid processors that combine multiple core types in a single socket—not just "CPU" and "GPU," but indeed, two different types of CPU cores contained within the same package.
Alder Lake will come with Golden Cove-based Performance cores (or P-cores), and Efficiency cores (E-cores) that are based on the Gracemont Atom-class architecture. Having two different types of CPU cores in the same system isn't a completely new concept, particularly in the Arm world, but it's nearly unprecedented in the Windows-on-x86 universe (Intel has dabbled with Lakefield).
To help developers deal with the change-over, Intel has now published a developer guide for Alder Lake. It's pretty in-depth, and applicable to any type of software, although it is primarily targeted at game developers. There are a lot of tips for game programmers looking to make sure their software runs well on Intel's forthcoming hybrid chips, as well as example software on GitHub.
Overall the guide is very encouraging as a Windows PC gamer. Intel specifically states that "games are a critical segment for Alder Lake-S, and no performance loss is acceptable." We like that attitude.
It goes on to acknowledge that while games are usually GPU-bound, fast discrete GPUs can shift the bottleneck over onto the CPU in a single-threaded fashion. Intel says "it is difficult to remove work from the critical game threads [...] Amdahl’s Law often prevents core-count scaling beyond six to eight cores, but this does not mean that games do not use more than six to eight threads/cores."
As part of Intel's developer guide, the chip maker goes over various optimization strategies for game developers targeting Alder Lake platforms. The company advises a major change in the way games schedule threads; rather than doing it by hand, Intel says developers should use Windows APIs to signal the system scheduler, indicating which threads are time-sensitive and which threads are "background" tasks. The guide also details numerous scenarios in which developers could shunt tasks like AI, physics, pathfinding, and sound processing off to the E-cores, allowing the P-cores to focus on intensive threads like a game's main render thread.
We won't get too far into the weeds of programming minutia here, but the guide also contains a few interesting hardware tidbits. Perhaps the most fascinating detail is the revelation that, despite Intel's prior claims to the contrary, Alder Lake consumer chips will in fact support AVX-512 instructions—as long as the E-cores are disabled in the system UEFI setup utility. Intel says it's up to OEMs and vendors to even offer such a setting. The performance implications of disabling the E-cores will have to be tested thoroughly, to be sure.
Furthermore, the presence or lack of AVX-512 is the only instruction set difference between the P-cores and the E-cores. That compatibility should ease things for developers somewhat, although Intel points out that if no optimizations are made, it's very easy to end up in a situation where time-critical work gets executed on the E-cores, which are (as expected) significantly slower than the P-cores.
Another fascinating detail confirmed in Intel's developer guide is that "specific desktop SKUs will feature only P-cores." Intel has previously made no official mention of non-hybrid Golden Cove-based processors (though there have been plenty of leaks and rumors). As you can see in the diagram above, the guide seems to imply that such a CPU would top out at six cores but still include the full integrated GPU from the top-end 8+8-core model, which may mean that P-core-only SKUs are low-end or budget-oriented. A reasonably-priced chip with six Golden Cove cores that's unlocked for overclocking could be a gaming value beast.
One final important thing to note is that the guide implies that game performance could collapse on Windows 10 compared to Windows 11. As noted above, Intel recommends that developers let the system scheduler (with some API prodding) handle thread scheduling, but doing so requires heavy reliance on the Intel Thread Director, which is a hardware-assisted scheduler that Intel has talked about before.
The thing is, the Intel Thread Director is not supported on Windows 10. As the guide states, "With the release of [Windows 11], you can automatically schedule threads using ITD. [...] Without [Windows 11], Windows will not support ITD. Some ITD features will be backported, but it is essential to check for a minimum supported version of Windows." Folks looking to capitalize on Intel's latest and greatest release had better get used to the idea of upgrading to Microsoft's latest OS.