Новости

02.10.2017

RU.efi, утилита Джеймса Ванга, сотрудника тайваньского ...

  • Все новости (38)
  • Разделы новостей

    Публикации

    Майнеру на заметку

    Утилиты

    Реклама

    Обзоры компьютерных гаджетов, которые должны быть всегда под рукой

        Яндекс.Метрика
    Главная » Программы » Детектор поддержки AVX512

    Детектор поддержки AVX512

    В связи с появлением в семействе процессоров Xeon Skylake 512-битного поколения векторных расширений AVX, актуальной становится задача детектирования поддержки данной технологии до старта операционной системы. Для решения поставленной задачи предлагается утилита AvxDetect.efi, которая выводит информацию о поддержке центральными процессором Advanced Vector Extension. Утилита обеспечивает детектирование поддержки со стороны UEFI сохранения и восстановления AVX-контекста процессора.

    Результаты работы утилиты AvxDetect в виртуальной среде Oracle VMBox

    Полученная информация визуализируется в виде следующих строк.

    Processor features, detect by CPUID

    Технологии, поддерживаемые процессором, детектированные посредством различных функций инструкции CPUID.

    AVX 256-bit

    Поддержка первого поколения технологии AVX и 256-битных векторных регистров.

    AVX2 256-bit

    Поддержка второго поколения технологии AVX, в частности комбинированного умножения и сложения FMA (Fused Multiply and Add).

    AVX3 512-bit = AVX512F (Foundation)

    Базовый набор выполняемых инструкций и программно-доступных ресурсов, необходимых для обработки 512-битных векторов. Поддержка AVX512F подразумевает расширение разрядности векторных регистров до 512 бит и увеличение количества этих регистров до 32, а также поддержку предикатного выполнения векторных операций. Это означает, что при обработке чисел, упакованных в 512-битном регистре, операция может быть выполнена или отменена, индивидуально для каждого числа.

    AVX512CD (Conflict Detection)

    Используется для эффективного обнаружения ситуаций, при которых заданные программные процедуры не могут быть выполнены параллельно в силу зависимости по данным. Технология AVX512CD упрощает написание оптимизирующих компиляторов, в частности разворот цикла в линейную последовательность.

    AVX512PF (Prefetch)

    Поддержка данной технологии означает, что механизм опережающей загрузки данных, известный еще в со времен процессоров Pentium III, усовершенствован с целью загрузки произвольно фрагментированных данных.

    AVX512ER (Exponential and Reciprocal)

    Эта группа команд предназначена для ускоренного вычисления аппроксимированных результатов для экспоненты, обратной величины и обратной величины квадратного корня. Относительная погрешность, в зависимости от типа инструкции составляет до 2 в степени минус 23 либо 2 в степени минус 28.

    AVX512VL (Vector Length)

    Эта функциональность обеспечивает использование возможностей AVX512, в частности, описанных выше предикатов и 32 векторных регистров) для операндов, размер которых 128 и 256 бит.

    AVX512BW (Byte and Word)

    Обеспечивает использование возможностей AVX512 для целочисленных операций разрядностью 8 и 16 бит.

    AVX512DQ (Doubleword and Quadword)

    Обеспечивает использование возможностей AVX512 для операций разрядностью 32 и 64 бита.

    AVX512IFMA (Integer Fused Multiply and Add)

    Перемножение целых чисел без знака, разрядностью 52 бита. В открытых документах не удалось найти объяснение использования столь нетипичного формата чисел. Вспомнив, что разрядность мантиссы для числа двойной точности — 52 бита, позволим себе предположить, что целью была возможность целочисленной (а потому быстрой) обработки мантиссы как самостоятельной величины.

    AVX512VBM (Vector Byte Manipulation)

    Сюда входят инструкции для перестановки и избирательной пересылки байтовых операндов, расположенных в векторных регистрах.

    OS/Firmware context management features, detect by XCR0

    Очевидно, для работы технологии AVX512 требуется поддержка и со стороны операционной системы, поскольку увеличение количества и разрядности регистров приводит к увеличению количества информации, которую требуется сохранять и восстанавливать при переключении контекста процессора в многозадачной среде. Отметим, что компания Intel максимально унифицировала процесс сохранения-восстановления контекста. Ниже перечисленные строки несут информацию о готовности операционной системы к управлению расширенным контекстом процессора. Как правило, UEFI firmware, не инициализирует подсистему управления контекстом процессора, оставляя эту задачу операционной системе. Для декларирования поддержки управления различными элементами контекста процессора, используется расширенный регистр управления XCR0 (Extended Control Register 0).

    SSE128 registers XMM[0-15] bits [0-127]

    Индицирует поддержку 128-битных SSE-регистров XMM0-XMM15.

    AVX256 registers YMM[0-15] bits [128-255]

    Индицирует поддержку 256-битных AVX-регистров YMM0-YMM15.

    AVX512 registers ZMM[0-15] bits[511-256]

    Индицирует поддержку 512-битных AVX-регистров ZMM0-ZMM15, то есть добавление поддержки старших 256 бит каждого из регистров.

    AVX512 registers ZMM[16-31] bits[0-511]

    Индицирует поддержку 512-битных AVX-регистров ZMM16-ZMM31.

    AVX512 predicate registers K[0-7]

    Индицирует поддержку предикатных регистров K0-K7.



    19.11.2017