x86-64-v3
x86-64-v3 е кумулативно функционално ниво на psABI, което добавя възможности от ерата на AVX към x86-64-v2. Съответното векторно състояние трябва да бъде активирано от операционната система, а не просто да присъства в процесора.
Какво трябва да знаете
x86-64-v3 е кумулативно функционално ниво на psABI, което добавя възможности от ерата на AVX към x86-64-v2. Съответното векторно състояние трябва да бъде активирано от операционната система, а не просто да присъства в процесора.
Как работи
Отвъд v2, нивото добавя AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE и OSXSAVE. psABI изисква пълните проверки за наличност от ръководството за процесора, включително съответното XCR0 състояние. Това е съвкупност от изисквания, а не просто друго име за AVX2.
Къде е полезно
Двоичен файл, компилиран за x86-64-v3, може да използва цялото ниво безусловно. Широко разпространявана библиотека може вместо това да запази базова компилация и да избира v3 реализация чрез своя заредител или диспечер по време на изпълнение.
Как се проверява поддръжката и активирането
Проверете всяка наследена и новодобавена функция и потвърдете активирането на AVX състоянието в ОС чрез последователността OSXSAVE/XGETBV за съответната архитектура. Не се опитвайте да компенсирате липсваща хардуерна инструкция чрез промяна на етикета на софтуерния пакет.
Хардуерната възможност, работещата работна среда и изискванията на двоичния файл на приложението са различни нива. Имената на архитектурите и нивата на ABI трябва да се тълкуват като ясни договори, а не като общо правило, че по-новото винаги е съвместимо.
Какво не гарантира тази функция
Самото наличие на AVX2 не установява v3, а v3 не предполага AES-NI, AVX-512 или AMX. Контейнерът споделя средата от инструкции на ядрото на хоста; той не създава липсващи инструкции. Дадена VM може да изложи съвместимо подмножество за целите на миграция.
Съвместимост и производителност на практика
Проверявайте пълните наследени изисквания и действителната среда, видима за процеса. За виртуална машина проверявайте госта, вместо да предполагате, че моделът на хоста е изложен непроменен. Поддържана резервна компилация (fallback build) трябва ясно да посочва своята собствена базова линия.
Практически контролен списък за проверка
- Запишете точния модел на процесора или платформата, както и използваните версии на приложението, операционната система и средата за изпълнение. Запазете точния текст на действителната грешка или изискване.
- Проверете документацията от производителя за този точен модел, след което инспектирайте действителните възможности и активираното състояние в средата, където работи програмата.
- Сравнете всяко изискване на избрания двоичен файл или бекенд. Подобно наименувана функция, псевдоним или общ технологичен етикет не са достатъчни.
- Потвърдете, че приложението е избрало планираната реализация. Използвайте неговата документирана диагностика и поддържан резервен вариант, когато изискванията не са изпълнени.
- Правете по една поддържана промяна наведнъж и повтаряйте същото работно натоварване. Запазете достъпни оригиналната конфигурация и плана за възстановяване.
Ако функцията е посочена, но софтуерът не може да я използва
Започнете с точния компонент, който дава грешка. Хардуерната база данни описва записаните възможности; операционната система или хипервайзорът могат да предоставят различна ефективна среда. Грешка за невалидна инструкция (illegal-instruction) също изисква разследване на действителната сриваща се инструкция и компилацията на двоичния файл, тъй като повреда или несвързана неподдържана инструкция може да предизвика подобен симптом.
Инсталирайте версията на приложението, драйвера или средата за изпълнение, която се поддържа за точната платформа, и използвайте документираната от производителя базова или резервна компилация, ако е необходимо. Софтуерна актуализация не може да създаде инструкция, която липсва в процесора. Промените във фърмуера и политиките за сигурност трябва да следват процедурата на производителя на системата и план за възстановяване, а не общи съвети за оптимизация.
Източници и обхват на това обяснение
x86-64 psABI: нива на процесорна архитектура и микроархитектура · Intel 64 and IA-32 Architectures Software Developer's Manual · Linux ядро: използване на XSTATE функции в потребителското пространство
Тези източници установяват архитектурното поведение и софтуерните изисквания. Те не проверяват независимо всяка стойност на параметър на свързана страница за хардуерен модел. За поддръжка на даден модел използвайте данните от производителя на съответната страница и проверете ефективната системна конфигурация. Тази статия не предоставя бенчмарк, сертификация или дата на независим преглед.
Източници и проверка
Редакционна собственост: Feex. Не е записана дата на независим преглед. Как проучваме.
- x86-64 psABI: нива на процесорна архитектура и микроархитектура · Машинен интерфейс, процесорна архитектура: базова и кумулативна таблица с функции за v2/v3/v4, проверки на състоянието на ОС и препоръки за внедряване.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Томове 1 и 2 описват посочените семейства инструкции и CPUID; Том 3 описва състоянието, страницирането, VMX и контролите за защита. Документацията за архитектурата не гарантира поддръжка за конкретен модел.
- Linux ядро: използване на XSTATE функции в потребителското пространство · Активирано от ОС векторно състояние, динамично активирано състояние на блокове, изисквания към сигналния стек и процес за разрешение на AMX. Специфичното за Linux поведение не представлява обещание за друга операционна система.
Беше ли полезна тази статия?
Достатъчно е "да" или "не". Изберете причина, ако желаете, или добавете кратка бележка.
Благодарим ви. Това ни помага да подобрим тази страница.