tgoop.com/cpu_design/299
Last Update:
Intel® Advanced Vector Extensions 10.2
В июле 2024 года Intel представила новую версию AVX10, в которой добавлены новые инструкции и поддержка FP8. Одним из интересных нововведений стала поддержка операций нахождения максимума и минимума среди операндов с плавающей запятой в векторном расширении, реализованная с учетом логики NaN propagation согласно спецификации IEEE-754 2019 года. В соответствии с этой логикой NaN возвращается только в случае, если оба операнда являются NaN. Теперь инструкции нахождения максимума и минимума поддерживают оба режима NaN propagation — в соответствии с IEEE-754 2019 и IEEE-754 2008, что позволяет разработчикам явно задавать логику NaN propagation.
Подобная реализация дает возможность программному обеспечения, ориентированному на работу с IEEE-754 2008, сохранить прежнюю логику обработки NaN, а для новых алгоритмов использовать более строгую семантику IEEE-754 2019.
Занимательно, что в сентябре 2023 года аналогичные инструкции были добавлены в архитектуру RISC-V в рамках расширения "Zfa" (Standard Extension for Additional Floating-Point Instructions).
Основное отличие заключается в том, что в RISC-V управление NaN propagation для инструкций поиска максимума и минимума реализовано только для скалярных инструкций, тогда как в Intel AVX10 это реализовано для векторных операций.
Кроме того, в последней версии спецификации RISC-V указано, что в экосистеме RISC-V для операций поиска максимума и минимума по умолчанию используется последняя версия стандарта IEEE-754 — на данный момент это версия 2019 года. В то же время в расширении Zfa были добавлены отдельные инструкции, специально реализующие поведение NaN propagation в соответствии со стандартом IEEE-754 2008 года.
Несмотря на то, что Intel и RISC-V представляют собой принципиально разные подходы как с точки зрения компьютерной архитектуры, так и с точки зрения уровня проприетарности (открытая архитектура RISC-V против закрытой Intel), обе экосистемы демонстрируют стремление к сохранению совместимости с существующим программным обеспечением. Это подчёркивает важность обратной совместимости и гибкости в выборе логики обработки NaN для поддержки старых алгоритмов и упрощения перехода на новые стандарты.
BY Записки CPU designer'a

Share with your friend now:
tgoop.com/cpu_design/299