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

x86-64-v3

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

x86-64-v3 з'яўляецца кумулятыўным узроўнем функцый psABI, які дадае магчымасці эпохі AVX да x86-64-v2. Адпаведны вектарны стан павінен быць уключаны аперацыйнай сістэмай, а не проста прысутнічаць у CPU.

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

x86-64-v3 з'яўляецца кумулятыўным узроўнем функцый psABI, які дадае магчымасці эпохі AVX да x86-64-v2. Адпаведны вектарны стан павінен быць уключаны аперацыйнай сістэмай, а не проста прысутнічаць у CPU.

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

У дадатак да 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. Кантэйнер выкарыстоўвае асяроддзе інструкцый ядра хоста; ён не стварае адсутныя інструкцыі. Віртуальная машына можа прадастаўляць сумяшчальнае падмноства для міграцыі.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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