Линус Торвальдс раскритиковал попытки привязки к версиям микроархитектуры x86_64
В ответ на присланный для ядра Linux патч с поддержкой ключей компилятора, указывающих «версию» микроархитектуры x86_64 (microarchitecture level), Линус Торвальдс высказал довольно жёсткую и технически обоснованную критику насчёт данной инициативы. Под версиями подразумеваются упоминаемые компаниями AMD, Intel, Red Hat и SUSE срезы состояния микроархитектуры, охватывающие определённые наборы расширений, например, x86–64-v3 подразумевает наличие расширений AVX, AVX2, BMI2, FMA, LZCNT, MOVBE и SXSAVE, а x86–64-v4 — AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.
Претензии Линуса сводятся к трём пунктам:
- Упомянутая классификация абсолютно неофициальна и ничему формально не соответствует.
- Система версий заменяет относительно простой вопрос «умеет ли этот процессор такую команду?» на значительно более сложный «что вообще такое x86_64 v3 и чего оно умеет?!».
- Предметом критики стала идея попыток линеаризации CPUID и упрощения его до «версий». Это оказалось настолько неуспешной идеей, что привело к тому, что самые последние модели процессоров Intel для настольных систем, которые не реализуют AVX-512, формально относятся к более младшей версии, чем более старые процессоры с поддержкой AVX-512, что является довольно странной ситуацией.
Источник: http://www.opennet.ru/opennews/art.shtml? num=62370
© OpenNet