Vaje deritto ô cuntenuto

AVX

Riferimento 'e ll'architetturaFeex

AVX, Advanced Vector Extensions, agnongne nu mudello 'e prugrammazzione vetturiale cu riggistre YMM e struzzione codificate VEX, cumprese operazziune floating-point a 256-bit. Serveno sia 'o supporto d' 'o prucessore ca 'a gestione d' 'o stato d' 'o sistema operativo.

Chello ca t'hê 'a sapé

AVX, Advanced Vector Extensions, agnongne nu mudello 'e prugrammazzione vetturiale cu riggistre YMM e struzzione codificate VEX, cumprese operazziune floating-point a 256-bit. Serveno sia 'o supporto d' 'o prucessore ca 'a gestione d' 'o stato d' 'o sistema operativo.

Comme fonsiona

AVX allarga 'e riggistre vetturiali a 256 bit, cu 'e 128 bit cchiù vasce 'e ogne riggistro YMM ca se sovrappònneno a 'o riggistro XMM suojo. Paricchie struzzione ausano na forma a tre operandi, permettenno a 'a destinazzione d'essere diverza d' 'e trasute. Nu vettore a 256-bit po tené 8 valure floating-point a precisione sìngula o 4 a precisione doppia, ma 'e struzzione cagnano p' 'e tipe d'operando e p' 'o cumpurtamento.

Addò serve

Nu ciclu nummereco po summmà diverze valure floating-point 'ndipennente cu na sula struzzione vetturiale. 'O compilatore o 'a libbreria adda generà chillu codice e sistemà carrecamiente, allineamento, code e dipendenze 'e manera retta. AVX nun sparte automaticament' nu prugramma a piacere ngopp'a cchiù core, e ll'operazziune intere a 256 bit addimannano 'e cuntrollà ll'estenzione currispunnente mméce 'e supponere AVX2.

Comme se cuntrolla 'o supporto e ll'abbilitazzione

Cuntrolla CPUID.01H:ECX AVX bit 28, XSAVE bit 26 e OSXSAVE bit 27. Sulo doppo avé cunfermato OSXSAVE 'o software po ausà XGETBV cu ECX=0 e verificà ca 'e bit 1 e 2 'e XCR0 abbilitano 'o stato XMM e YMM. Ausa nu runtime dispatcher curato mméce d'eseguì AVX comm'a n'esperimento 'e rilevamento.

'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

'O supporto AVX da sulo nun vo dicere AVX2, FMA, F16C, AVX-VNNI o AVX-512. 'A larghizza vetturiale nun dice quanti cicli piglia na struzzione. Na macchina virtuale po mustrà nu set 'e struzzione cchiù piccerillo 'e chillu fiseche d' 'host.

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

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.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · 'E Vulume 1 e 2 descrivono 'e ffamiglie 'e struzzione cu nomme e 'o CPUID; 'o Vulume 3 descrive 'o stato, 'a pagginazzione, VMX e 'e cuntrolle 'e prutezzione. 'A documentazzione 'e ll'architettura nun stabbilisce 'o supporto pe nu mudello particulare.
  • Linux kernel: using XSTATE features in user space · Stato vetturiale abbilitato d' 'o sistema operativo, stato tile abbilitato dinamicamente, requisite 'e signal-stack e flusso 'e perzmesso AMX. 'O cumpurtamento specifeche pe Linux nun e na prumessa pe n'ato sistema operativo.

È servuto chist'articulo?

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

È servuto chist'articulo?