Intel has released a new development guide for game developers to optimize PC games for Alder Lake’s new hybrid core architecture with performance and efficiency cores. The guide is very detailed, as it describes a plethora of ways you can push workloads to specific core clusters.
The goal of optimizing the code for Alder Lake’s hybrid layout is to ensure that the performance cores do all the heavy lifting while the efficiency cores handle all light workloads and tasks. background.
To simplify the programming model for developers, all performance cores and efficiency cores have the same instruction set, which means that both core clusters can handle the same workloads. The exception to this is AVX-512, which is only supported on performance cores. To enable AVX-512 support, you will need to disable efficiency cores in the BIOS.
There will also be several basic setups that developers should be aware of when optimizing for Alder Lake. Intel details two configurations for desktop chips: 6C + 0A (no efficiency cores) and 8C + 8A. Chips for laptops, on the other hand, will feature different configurations including: 2C + 8A and 6C + 8A.
Intel Alder Lake processors will run on a new scheduler, called the Intel Thread Director (ITD). Its job is to provide instruction set architecture (ISA) knowledge to the operating system, which allows ITD to map tasks to the appropriate cores.
ISA is a feature that allows Windows to see the performance characteristics of each primary cluster. If ISA did not exist, Windows would believe that all Alder Lake cores operate the same and assign workloads to the wrong set of cores.
Developers will be able to use ITD extensively to do the job for them. Alternatively, they can use several tools created by Intel to manually set the affinity, prioritization, and processor scheduling for the game they are creating. This could be beneficial for further optimizing a game if Alder Lake’s ITD doesn’t do the job.
Things can get tricky for game developers when they choose which game tasks are assigned to specific cores. Things like rendering jobs need to go to performance cores to get the job done quickly, and background processes can be terminated on efficiency cores. Some scenarios also benefit from completely disabling efficiency cores to give as much power to the performance cores as possible.
There is also the challenge of ensuring that performance cores are not fully maximized. Intel says tapping the efficiency cores when the performance cores are overloaded is optimal to ensure that the entire processor is used.
Overall, the amount of optimization developers can do with Alder Lake is almost endless. This could impact performance results on launch day due to poor optimizations early on. But over time, we should see developers become familiar with Intel’s new hybrid architecture and see a general increase in performance.