Passa ô cuntinutu

AVX-512

Rifirimentu d'archititturaFeex

AVX-512 e' na famigghia d'estinzioni vitturiali x86 cu riggistri opmask e supportu pi l'opirazzioni a 512 bit. La sò basi e li suttanzemi ndividuali s'hànnu a cuntrollari siparatamenti; n'etichetta AVX-512 sula nun e' na spicìfica di cumpatibbilitati cumpleta.

Chiḍḍu ca t'hà sapiri

AVX-512 e' na famigghia d'estinzioni vitturiali x86 cu riggistri opmask e supportu pi l'opirazzioni a 512 bit. La sò basi e li suttanzemi ndividuali s'hànnu a cuntrollari siparatamenti; n'etichetta AVX-512 sula nun e' na spicìfica di cumpatibbilitati cumpleta.

Comu funziona

L'architittura junci lu statu vitturiali ZMM e li riggistri opmask k. L'upirazzioni cu màschira ponnu silizziunari singuli corsii, cu cumpurtamentu di merging o zeroing spicìficu d'ogni istrbuzzioni. AVX512F esti lu funnamentu; AVX512BW, DQ, CD e VL cummògghianu capacitati adizziunali diffirenti. AVX512VL pirmetti upirazzioni rilivanti supra vittura cchiù stritti, pirciò lu còdici AVX-512 non elàbbura nicissariamenti 512 bit a ogni istrbuzzioni.

Unni e' ùtili

Un ciclu numèricu cu màschira pò gistiri la so parti vitturiali finali parziali senza na cuda scalari siparata quannu l'istrubbzioni silizziunati suppòrtanu la semàntica di màschira nicissaria. N'applicazzioni chi usa upirazzioni a byte, dittezzioni dî cunflitti o un particulari furmatu arittmèticu havi a addumannari pricìsamenti chisti suttasèmiti. AVX-512 VNNI e AVX-VNNI ùsanu cudìfichi e annumurazzioni diffirenti.

Comu cuntrollari lu supportu e l'abbilitazzioni

Doppu li cuntrolli AVX, virìfica li spicìfici bit di carattirìstica di CPUID leaf 7 addumannati dû prugramma. Pô statu AVX-512, XCR0 havi a abbilitari lu statu XMM, YMM, opmask, ZMM supiriuri e ZMM àutu: bit 1, 2, 5, 6 e 7. La màschira usata di sòlitu esti E6H. Cuntrolla OSXSAVE prima di XGETBV e usa un dispatcher chi virìfica ogni suttasèmitu addumannatu.

Lu prugramma havi sia a cuntèniri na mplimintazzioni apprupriata sia a silizziunàrila a runtime. La nummarazzioni di l'hardware, lu statu dî riggistri abbilitatu dû SO e la basi cumpilata dû binariu sunnu cuntrolli siparati. Na màchina virtùali po ammustrari apposta menu funziunalitati dû sò host, e un container nun agghiunci struzzioni a la CPU host.

Zoccu la funziunalitati nun stabbilisci

Non dèduciri ogni suttasèmitu AVX-512 di AVX512F, d'un nomu di ginirazzioni di CPU o di x86-64-v4. Fricwenza, putenza e capacitati d'esecuzzioni vìarianu a secunna di l'implimintazzioni e dû càrricu di travagghiu. N'etichetta di database di sula non pò stabbiliri si lu firmware, la pulìtica di hybrid-core o un hypervisor espòninu na carattirìstica utilizzàbbili ô prucessu currenti.

Cumpatibbilitati e pristazzioni nnâ pràtica

Misuredda lu caricu di travagghiu cumpletu cu dati rapprisintativi. Vettura cchiù larghi ponnu arridùciri lu nùmmaru di struzzioni lassannu lu tràfficu di mimoria, la sincrunizzazzioni o i costi di cunvirsioni nun canciati. La latenza dî struzzioni, lu throughput e lu cumpurtamentu d'energìa dipènninu dâ microarchitittura esatta e dî cunnizzioni upirativi.

Na lista di virìfica pràtica

  1. Riggistra lu mudellu esattu dû prucissuri o dâ piattafurma e li virsioni di l'applicazzioni, dû SO e dû runtime cuinvorti. Manteni la formulazzioni di l'erruri o dû requisitu riali.
  2. Cuntrolla lu rifirimentu dû prudutturi pi ddu mudellu esattu, poi spizziona la capacitati effittiva e lu statu abbilitatu nta l'ambienti unni lu prugramma gira.
  3. Cunfrunta ogni requisitu dû binariu o dû backend silizziunatu. Na funziunalitati cû nomu sìmili, un pseudònimu o n'etichetta ticnulòggica ginèrica nun abbàstanu.
  4. Cunferma ca l'applicazzioni hà silizziunatu la mplimintazzioni privista. Usa la sò diagnòstica ducumintata e un fallback suppurtatu quannu li requisiti nun sunnu suddisfatti.
  5. Fai un canciamentu suppurtatu a la vota e ripeti lu stissu caricu di travagghiu. Manteni dispunìbbili la cunfigurazzioni urigginali e lu pircorsu di ricùp ситуаazzioni.

Si la funziunalitati e' ndicata ma lu software nun la po usari

Accumenza cû cumpunenti esattu ca fallisci. Un database d'hardware discrivi la capacitati riggistrata; lu sistema upirativu o l'hypervisor ponnu ammustrari n'ambienti effittivu diffirenti. N'erruri di struzzioni illigali addanna puru n'indàggini supra la struzzioni ca fallisci pi daveru e supra la build binaria, picchì la curruzzioni o na struzzioni nun currilata e nun suppurtata ponnu fari un sìntumu sìmili.

Installa la virsioni di l'applicazzioni, dû driver o dû runtime suppurtata pâ piattafurma esatta, e usa la build di basi o di fallback ducumintata dû prudutturi si n'hai bisognu. N'aggiurnamentu dû software nun po criari na struzzioni ca manca nnô prucissuri. Li canciamenti di firmware e di pulìtica di sicurizza avìssiru a sèquiri la prucidura dû prudutturi dû sistema e un pianu di ricùpiru mmeci d'un ricittariu d'uttimizzazzioni ginèricu.

Funti e scanciu di st'esplicazzioni

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space · psABI x86-64: liveddi d'architittura e micrarchitittura dû prucissuri

Sti rifirimenti stabbilìscinu lu cumpurtamentu architittùnicu e li requisiti dû software. Nun virìficanu di manera ndipinnenti ogni valuri di funziunalitati nta na pàggina d'un mudellu hardware culligatu. Pû supportu dû mudellu, usa li provi dû prudutturi di dda pàggina e cuntrolla la cunfigurazzioni effittiva dû sistema. St'artìculu nun duna un benchmark, na cirtificazzioni o na data di rivisioni ndipinnenti.

Funti e virìfica

Titularità editoriali: Feex. Nudda data di rivisioni nnipinnenti è riggistrata. Comu facemu i ricerchi.

Fu ùtili st'artìculu?

Un sì o un no abbasta. Scegghi un mutivu si voi, o junci na nota curta.

Fu ùtili st'artìculu?