Перейти до вмісту

AMX, Advanced Matrix Extensions

Архітектурний довідникFeex

Також називається AMX, AMX (Advanced Matrix Extensions)

Intel AMX додає до x86 засоби матричних обчислень на основі тайлів. AMX-TILE та арифметичні розширення мають окремі біти можливостей, і ОС повинна керувати значним обсягом стану тайлів.

Що потрібно знати

Intel AMX додає до x86 засоби матричних обчислень на основі тайлів. AMX-TILE та арифметичні розширення мають окремі біти можливостей, і ОС повинна керувати значним обсягом стану тайлів.

Як це працює

AMX використовує налаштовані двовимірні тайлові регістри замість звичайних векторів YMM/ZMM. Конфігурація тайлів описує активні форми, тоді як арифметичні розширення, такі як AMX-INT8 або AMX-BF16, визначають конкретні матричні операції та числові формати. Програмне забезпечення упаковує дані та вибирає допустимі форми відповідно до перелічених обмежень палітри.

Де це корисно

Матрична бібліотека може транслювати підтримуване ядро в завантаження тайлів, операції скалярного добутку та збереження тайлів. Витрати на упаковку, розміри матриць і локальність кешу можуть переважати в малих або нерегулярних робочих навантаженнях. Тайлове апаратне забезпечення не робить кожен оператор нейронної мережі придатним для прискорення.

Як перевірити підтримку та активацію

Перевірте AMX-TILE та кожне необхідне арифметичне розширення в leaf 7 CPUID, перелічіть обмеження тайлів і підтвердьте активацію стану в ОС. У Linux програми, що використовують динамічні дані тайлів, повинні дотримуватися задокументованого процесу ARCH_REQ_XCOMP_PERM; підтримки та бітів XCR0 самих по собі недостатньо.

Наявність обладнання це лише перший крок. Драйвер, середовище виконання, провайдер виконання, підтримувані оператори та числовий формат повинні відповідати програмі. Перевіряйте фактичний вибір бекенда та резервні варіанти замість того, щоб вважати, що позначка AI означає прискорення кожної моделі.

Чого ця функція не гарантує

AMX не означає наявність AVX-512, універсального NPU або кожного арифметичного формату AMX. Лише один біт CPU не надає дозволів процесу та не гарантує достатнього стану стека сигналів. Непідтримувані форми тайлів або відсутність дозволу ОС можуть призвести до помилки навіть на машині з підтримкою AMX.

Сумісність і продуктивність на практиці

Порівнюйте повні робочі навантаження за вказаних умов, враховуючи компіляцію, передачу даних і непідтримувані оператори. Пікова кількість операцій за секунду залежить від точності та припущень щодо підрахунку. Вона не замінює виміряну затримку, пропускну здатність, енергоспоживання чи точність моделі.

Практичний контрольний список для верифікації

  1. Зафіксуйте точну модель процесора або платформи, а також версії використовуваної програми, ОС і середовища виконання. Збережіть точне формулювання фактичної помилки або вимоги.
  2. Звіртеся з документацією виробника для цієї точної моделі, потім перевірте фактичні можливості та стан активації в середовищі, де виконується програма.
  3. Порівняйте кожну вимогу вибраного двійкового файлу або бекенда. Схожої назви функції, псевдоніма чи загального позначення технології недостатньо.
  4. Переконайтеся, що програма вибрала призначену реалізацію. Використовуйте її задокументовані засоби діагностики та підтримуваний резервний варіант, якщо вимоги не виконуються.
  5. Вносьте по одній підтримуваній зміні за раз і повторюйте те саме робоче навантаження. Зберігайте оригінальну конфігурацію та можливість відновлення.

Якщо функція вказана, але програмне забезпечення не може її використати

Почніть із компонента, у якому саме стався збій. База даних обладнання описує зафіксовані можливості; операційна система або гіпервізор можуть надавати інше фактичне середовище. Помилка неприпустимої інструкції також потребує дослідження фактичної інструкції, що викликала збій, і двійкової збірки, оскільки пошкодження даних або непов'язана непідтримувана інструкція можуть викликати схожий симптом.

Встановіть версію програми, драйвера або середовища виконання, яка підтримується для цієї конкретної платформи, і за потреби використовуйте задокументовану постачальником базову або резервну збірку. Оновлення програмного забезпечення не може створити інструкцію, якої немає в процесорі. Зміни у прошивці та політиках безпеки повинні відповідати процедурі виробника системи та плану відновлення, а не загальним рецептам оптимізації.

Джерела та межі застосування цього пояснення

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space

Ці довідкові матеріали визначають архітектурну поведінку та вимоги до програмного забезпечення. Вони не перевіряють незалежно кожне значення функції на сторінці пов'язаної моделі обладнання. Щодо підтримки моделі використовуйте дані виробника на цій сторінці та перевіряйте фактичну конфігурацію системи. Ця стаття не містить бенчмарків, сертифікації чи дат незалежного огляду.

Джерела та верифікація

Власник авторських прав: Feex. Дата незалежної перевірки не зафіксована. Як ми проводимо дослідження.

  • 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 не є гарантією для іншої ОС.

Чи була ця стаття корисною?

Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.

Чи була ця стаття корисною?