Vaje deritto ô cuntenuto

AVX2

Riferimento 'e ll'architetturaFeex

AVX2 allarga 'o calcolo vettoriale x86 cu ll'operazzione a nteri a 256-bit e strazzione nove pe spusta 'e date. Na CPU cumpatibbile, 'o stato AVX abbilitato e 'o software ca overamente sciglie 'o percurso 'e codice AVX2 so tutt'e tre nicessarie.

Chello ca t'hê 'a sapé

AVX2 allarga 'o calcolo vettoriale x86 cu ll'operazzione a nteri a 256-bit e strazzione nove pe spusta 'e date. Na CPU cumpatibbile, 'o stato AVX abbilitato e 'o software ca overamente sciglie 'o percurso 'e codice AVX2 so tutt'e tre nicessarie.

Comme fonsiona

AVX2 porta assaje operazzione a nteri 'mpaccati dinto 'e reggistre YMM a 256-bit e ce mette funziune comme gather pe nteri, shift variabbili e permutazzione cchiu grosse. Nu vettore a nteri a 256-bit po tene 32 byte, 16 word, 8 doubleword o 4 quadword; e 'a strazziona ca decide comm'a lleggiri 'e corsie. Quacche operazziona fatica pe cunto sujo dinto 'e mmità a 128-bit, accussi nu reggistro largo nun vo dicere ca se po sposta libberamente dinto a ogne corsia.

Addò serve

Na libbraria pe tratta fiure po fatià ngopp'a 32 cumpunente a byte dinto a nu vettore mentre nu kernel 'e database confronta 8 nteri a 32-bit. Chisto fa vere a capatà d'e date, nun e na prumessa 'e cchiu velocezza. 'E gather dipenneno sempe da quant'e bbona 'a memoria vicina, e nu ciclo po rummanere fermato da cache miss, diramazziune o cunversione 'e date cchiu tosto ca d'a larghezza 'e ll'aritemmeteca.

Comme se cuntrolla 'o supporto e ll'abbilitazzione

Faje primma 'e cuntrolle ngopp'a ll'hardware AVX e OSXSAVE/XCR0. Po verifeca ca CPUID suppuorta 'a foglia 7 e cuntrolla 'o bit 5 'e CPUID.07H.00H:EBX. Faje 'e prueve dinto a ll'ambiente 'e fravico overo d'o guest o container e usa l'interfaccia 'e diagnose suppurtata 'e ll'apprecazziona addo sta dispunibbile.

'O prugramma adda cuntené n'implementazzione adatta e adda sciglierla a runtime. Ll'enumerazzione hardware, 'o stato d' 'e riggistre abbilitato d' 'o sistema operativo e 'a baseline compilata d' 'o binario songo cuntrolle separati. Na macchina virtuale po espònere a posta cchiù poche funzionalita d' 'host suo, e nu container nun agnongne struzzione a 'a CPU host.

Chello ca 'a funzionalita nun stabbilisce

AVX2 nun se porta appriesso FMA comme fussi na cosa automatica 'e ll'architettura. E nun basta sulo isso pe dicere ca ce sta AVX-512, hardware p'accelerà l'IA o ca se po faticà cu x86-64-v3. Na cumpilazziona fatta globalmente pe AVX2 po falli primma ca 'o dispatcher 'e riserva parte si 'o codice 'e primma partenza tene gia strazzione nun suppurtate.

Cumpatibbilita e prestazziune dint' 'a prateca

Misa 'o carico 'e fatica sano cu date rapresentative. Vetturi cchiù larghi ponno calà 'o nummero 'e struzzione ma lassa 'o traffico 'e memoria, 'a sincronizzazzione o 'e coste 'e cunversione tale e quale. Latenza d' 'e struzzione, throughput e cunsumo 'e currente dipènnene d' 'a microarchitettura esatta e d' 'e ccundizziune d'uso.

Na lista 'e verifeca prateca

  1. Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
  2. Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
  3. Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
  4. Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
  5. Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.

Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà

Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.

Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.

Funte e ambito 'e sta spiegazzione

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space · x86-64 psABI: levielle d'architettura e microarchitettura d'o prucessore

Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.

Funte e verìfeca

Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.

È servuto chist'articulo?

Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.

È servuto chist'articulo?