Читала прежде мнение Торвальдса об AVX512, и нынешние его
откровения не явились для меня неожиданностью. Совершенно ясно, что
человеку, всю свою жизнь полирующего ядро операционной системы, не
может понравиться перспектива сохранять множество длинных
FP-регистров, поскольку такая операция сильно вредит организации
вытесняющей многозадачности, т.к. перенос задачи/процесса с одного
ядра на другое сопровождалось бы большими издержками (по времени).
Короче говоря, увеличение регистрового пула приводит к "утяжелению" приложения из-за чего оно "оседает" на одном ядре, смещать с которого его становится невыгодно по соображениям эффективности. А наиболее эффективным становится реализация "одно ядро - одна задача", а многозадачность становится кооперативной ("добровольной"), что начинает смахивать на времена старого доброго DOS'а :), когда запустить следующее приложение можно лишь после завершения предыдущего. Ясно, что такая перспектива не нравится ни Торвальдсу, ни Микрософту.
У графического FPU такой проблемы нет, т.к. у него нет и вытесняющей многозадачности - как правило, FPU (все его ядра и потоки) озадачивает одной задачей (для обслуживания монитора) драйвер видеокарты на старте ОС, и далее эту задачу больше не трогают. Тогда как у CPU возникают явные проблемы, когда число запущенных процессов/потоков превышает число ядер. Предположу, что именно по этой причине Intel решился на гетерогенный вариант, когда на больших ядрах будут неподвижно стоять большие задачи расчетного характера, а на малых будут крутиться сервисные процессы, не требующие FP-арифметики. Вот только Микрософт подкачала с реализацией такого проекта, а без него гетерогенный вариант перестал иметь смысл.
И вот еще что напоследок - нашла на Сахаре свой пост 4-летный давности, когда AVX512 на пользовательских процессорах еще не было. Ныне интересно почитать. :)
http://caxapa.ru/?id=848302