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. Контейнер використовує спільне середовище інструкцій ядра хоста; він не генерує відсутні інструкції. Віртуальна машина може надавати сумісну підмножину для міграції.
Сумісність і продуктивність на практиці
Перевірте повні успадковані вимоги та фактичне середовище, видиме процесу. Для віртуальної машини перевіряйте гостьову систему, а не припускайте, що модель хоста передається без змін. Підтримувана резервна збірка повинна чітко вказувати власний базовий рівень.
Практичний контрольний список для верифікації
- Зафіксуйте точну модель процесора або платформи, а також версії використовуваної програми, ОС і середовища виконання. Збережіть точне формулювання фактичної помилки або вимоги.
- Звіртеся з документацією виробника для цієї точної моделі, потім перевірте фактичні можливості та стан активації в середовищі, де виконується програма.
- Порівняйте кожну вимогу вибраного двійкового файлу або бекенда. Схожої назви функції, псевдоніма чи загального позначення технології недостатньо.
- Переконайтеся, що програма вибрала призначену реалізацію. Використовуйте її задокументовані засоби діагностики та підтримуваний резервний варіант, якщо вимоги не виконуються.
- Вносьте по одній підтримуваній зміні за раз і повторюйте те саме робоче навантаження. Зберігайте оригінальну конфігурацію та можливість відновлення.
Якщо функція вказана, але програмне забезпечення не може її використати
Почніть із компонента, у якому саме стався збій. База даних обладнання описує зафіксовані можливості; операційна система або гіпервізор можуть надавати інше фактичне середовище. Помилка неприпустимої інструкції також потребує дослідження фактичної інструкції, що викликала збій, і двійкової збірки, оскільки пошкодження даних або непов'язана непідтримувана інструкція можуть викликати схожий симптом.
Встановіть версію програми, драйвера або середовища виконання, яка підтримується для цієї конкретної платформи, і за потреби використовуйте задокументовану постачальником базову або резервну збірку. Оновлення програмного забезпечення не може створити інструкцію, якої немає в процесорі. Зміни у прошивці та політиках безпеки повинні відповідати процедурі виробника системи та плану відновлення, а не загальним рецептам оптимізації.
Джерела та межі застосування цього пояснення
psABI x86-64: рівні архітектури та мікроархітектури процесора · Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space
Ці довідкові матеріали визначають архітектурну поведінку та вимоги до програмного забезпечення. Вони не перевіряють незалежно кожне значення функції на сторінці пов'язаної моделі обладнання. Щодо підтримки моделі використовуйте дані виробника на цій сторінці та перевіряйте фактичну конфігурацію системи. Ця стаття не містить бенчмарків, сертифікації чи дат незалежного огляду.
Джерела та верифікація
Власник авторських прав: Feex. Дата незалежної перевірки не зафіксована. Як ми проводимо дослідження.
- psABI x86-64: рівні архітектури та мікроархітектури процесора · Інтерфейс комп'ютера, архітектура процесора: базова та кумулятивна таблиця функцій v2/v3/v4, перевірки стану ОС і рекомендації щодо розгортання.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Томи 1 і 2 описують зазначені сімейства інструкцій і CPUID; Том 3 описує стан, сторінкову організацію пам'яті, VMX і засоби захисту. Документація з архітектури не підтверджує підтримку для конкретної моделі.
- Linux kernel: using XSTATE features in user space · Векторний стан, увімкнений ОС, динамічно ввімкнений стан тайлів, вимоги до стека сигналів і процес отримання дозволів AMX. Специфічна поведінка Linux не є гарантією для іншої ОС.
Чи була ця стаття корисною?
Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.
Дякуємо. Це допомагає нам покращувати цю сторінку.