Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features.
Queued Linux Patches To Better Track AVX-512, Allowing For More Optimal Task Placement
As using complex AVX-512 operations can lead to lower turbo frequencies for those cores, the Linux kernel will be providing better tracking of AVX-512 usage of tasks that is readable by user-space for programs doing their own task placement. If keeping AVX-512 usage to particular core(s) and not intermixing them with non-AVX tasks, better performance can be achievable due to the differing turbo frequencies of CPUs when running Advanced Vector Extensions.
This patch to track AVX-512 usage of tasks is now queued in the x86/fpu Git branch ahead of the Linux 5.1 cycle.
Separately there are also patches pending to expose the AVX-512 usage elapsed time via the /proc/pid/status with a new AVX512_elapsed_ms metric that provides a hint whether AVX-512 was ever used by that process and if so roughly how long ago.
This AVX-512 usage tracking is said to be useful for real-world workloads like TensorFlow and Linpack but no performance details were shared to quantify the impact.
With expanded AVX-512 rolling out to more processors with Icelake later this year, the timing is good for getting these additional bits into the kernel. AVX-512 is supported by current Skylake-X and Xeon Scalable processors as well as Xeon Phi and friends.