Перайсці да змесціва

AMX, Advanced Matrix Extensions

Архітэктурны даведнікFeex

Таксама называецца AMX, AMX (Advanced Matrix Extensions)

Intel AMX дадае ў x86 сродкі матрычных вылічэнняў на аснове плітак (tiles). AMX-TILE і арыфметычныя пашырэнні маюць асобныя біты магчымасцей, і АС павінна кіраваць значным станам гэтых плітак.

Што вам трэба ведаць

Intel AMX дадае ў x86 сродкі матрычных вылічэнняў на аснове плітак (tiles). AMX-TILE і арыфметычныя пашырэнні маюць асобныя біты магчымасцей, і АС павінна кіраваць значным станам гэтых плітак.

Як гэта працуе

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

Дзе гэта карысна

Матрычная бібліятэка можа трансфармаваць падтрымліваемае ядро ў аперацыі загрузкі плітак, скалярнага здабытку і захавання плітак. Выдаткі на пакаванне, памеры матрыц і лакальнасць кэша могуць дамінаваць у невялікіх або нестандартных нагрузках. Наяўнасць апаратных плітак не робіць кожны аператар нейронавай сеткі прыдатным для паскарэння.

Як праверыць падтрымку і актыўнасць

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

Наяўнасць абсталявання - гэта толькі першы крок. Драйвер, асяроддзе выканання, пастаўшчык выканання (execution provider), падтрымліваемыя аператары і лікавы фармат павінны адпавядаць праграме. Правярайце фактычны выбар бэкэнда і наяўнасць рэзервовага варыянту (fallback), а не мяркуйце, што ярлык AI азначае паскарэнне любой мадэлі.

Чаго гэта функцыя не гарантуе

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

Сумяшчальнасць і прадукцыйнасць на практыцы

Параўноўвайце поўныя працоўныя нагрузкі пры аднолькавых умовах, уключаючы кампіляцыю, перадачу даных і непадтрымліваемыя аператары. Пікавая колькасць аперацый у секунду залежыць ад дакладнасці і метадаў падліку. Яна не замяняе вымераныя паказчыкі затрымкі, прапускной здольнасці, энергаспажывання або дакладнасці мадэлі.

Практычны чэк-ліст для праверкі

  1. Зафіксуйце дакладную мадэль працэсара або платформы, а таксама задзейнічаныя версіі праграмы, АС і асяроддзя выканання. Захавайце дакладную фармулёўку памылкі або патрабавання.
  2. Звярніцеся да дакументацыі вытворцы для гэтай канкрэтнай мадэлі, затым праверце фактычныя магчымасці і ўключаны стан у асяроддзі, дзе выконваецца праграма.
  3. Супастаўце кожнае патрабаванне выбранага выканальнага файла або бэкэнда. Аналагічнай назвы функцыі, псеўданіма або агульнай назвы тэхналогіі недастаткова.
  4. Пацвердзіце, што праграма выбрала патрэбную рэалізацыю. Выкарыстоўвайце яе задакументаваныя сродкі дыягностыкі і падтрымліваемы запасны варыянт, калі патрабаванні не выконваюцца.
  5. Уносьце па адным падтрымліваемым змяненні за раз і паўтарайце тую ж нагрузку. Захоўвайце зыходную канфігурацыю і магчымасць адкату.

Калі функцыя пазначана, але праграмнае забеспячэнне не можа яе выкарыстоўваць

Пачніце з канкрэтнага кампанента, які выклікае збой. Апаратная база даных апісвае зафіксаваныя магчымасці; аперацыйная сістэма або гіпервізар могуць прадастаўляць іншае фактычнае асяроддзе. Памылка недапушчальнай інструкцыі (illegal instruction) таксама патрабуе даследавання канкрэтнай інструкцыі, якая выклікала збой, і зборкі бінарнага файла, паколькі пашкоджанне даных або іншая непадтрымліваемая інструкцыя могуць выклікаць аналагічны сімптом.

Усталюйце версію праграмы, драйвера або асяроддзя выканання, якая падтрымліваецца для дадзенай платформы, і пры неабходнасці выкарыстоўвайце задакументаваную вытворцам базавую або запасную зборку. Абнаўленне ПЗ не можа стварыць інструкцыю, якой няма ў працэсары. Змяненні ў мікрапраграме (firmware) і палітыках бяспекі павінны адпавядаць працэдурам вытворцы сістэмы і плану аднаўлення, а не агульным рэцэптам аптымізацыі.

Крыніцы і межы прымянення гэтага тлумачэння

Intel 64 and IA-32 Architectures Software Developer's Manual · Ядро Linux: выкарыстанне функцый XSTATE у прасторы карыстальніка

Гэтыя даведнікі вызначаюць архітэктурныя паводзіны і патрабаванні да праграмнага забеспячэння. Яны не пацвярджаюць незалежна кожнае значэнне функцыі на звязанай старонцы мадэлі абсталявання. Для праверкі падтрымкі мадэллю выкарыстоўвайце даныя вытворцы на адпаведнай старонцы і правярайце фактычную канфігурацыю сістэмы. Гэты артыкул не змяшчае вынікаў тэсціравання (benchmark), сертыфікацыі або даты незалежнага агляду.

Крыніцы і праверка

Рэдакцыйная прыналежнасць: Feex. Дата незалежнай праверкі не зафіксавана. Як мы даследуем.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Тамы 1 і 2 апісваюць названыя сямействы інструкцый і CPUID; Том 3 апісвае стан, старонкавую арганізацыю памяці, VMX і элементы кіравання абаронай. Архітэктурная дакументацыя не пацвярджае падтрымку канкрэтнай мадэлі.
  • Ядро Linux: выкарыстанне функцый XSTATE у прасторы карыстальніка · Уключаны аперацыйнай сістэмай вектарны стан, дынамічна ўключаны стан плітак, патрабаванні да стэка сігналаў і працэс атрымання дазволаў AMX. Спецыфічныя для Linux паводзіны не гарантуюць таго ж у іншай АС.

Ці быў гэты артыкул карысным?

Дастаткова адказаць "так" або "не". Выберыце прычыну, калі хочаце, або дадайце кароткую нататку.

Ці быў гэты артыкул карысным?