AVX-juhiste tugi protsessoris – miks seda vaja on?

Uusim funktsioonilaiend AVX512 (täiustatud vektorlaiend 512-bitine), tuntud ka kui AVX3, koosneb üheksast tehnoloogiast, millest igaüht võib või ei pruugi konkreetne protsessor valikuliselt toetada. Mitmeid vaadeldava perekonna teostusi, mis on seotud suure bitiga operatsioonidega, kasutatakse juba Intel Xeon Phi kaasprotsessorites ja valikuliselt on saadaval Skylake mikroarhitektuuriga Xeoni protsessorites. Tuletame meelde, et Xeon Phi kaasprotsessorid on mõeldud paigaldamiseks PCI Expressi pesasse.

AVX512 põhifunktsioonid

Aktsepteeritud lühend: AVX512 F (Sihtasutus) . See on 512-bitiste vektorite töötlemiseks vajalik käivitatavate käskude ja tarkvaras saadaolevate ressursside põhi- või minimaalne komplekt. AVX512F tugi eeldab vektorregistrite laiendamist 512 bitini ja nende registrite arvu suurendamist 32-ni. Võrdluseks, eelmise põlvkonna (AVX2) funktsionaalne laiendus, mis on rakendatud Haswelli protsessorites, hõlmab 16 registri kasutamist. laiusega 256 bitti. Traditsiooniliselt on "vanad" registrid osa "uutest". Sel juhul tähendab see, et 16 256-bitist YMM-registrit vastendatakse 512-bitiste ZMM-registrite alumiste 256-bitiste "pooltega".

Nagu lihtsatest arvutustest järeldub, on uus 512-bitine tööseade võimeline töötlema 8 64-bitist topelttäppisnumbrit või 16 32-bitist ühekordse täpsusega numbrit ühe vektorkäsu jooksul.

AVX512F põhikomplekt sisaldab ka predikaadi täitmine vektoroperatsioonid. See tähendab, et 512-bitisesse registrisse pakitud numbrite töötlemisel saab toimingu sooritada või tühistada numbripõhiselt. Näiteks 16 32-bitise ühe täpsusega numbri töötlemisel tagab 16-bitine predikaat, mis sisaldab kõiki "üksikuid", et toiming sooritatakse kõigi numbritega. Kui kõik predikaadi bitid on nullid, siis toiming nurjub. Ja määrates näiteks predikaadi kaks kõige vähemtähtsat bitti, saate toimingu sooritada kahe esimese numbriga, jättes ülejäänud arvud mõjutamata. Predikaatide salvestamiseks võetakse kasutusele 8 täiendavat 64-bitist registrit K0–K7.

Joonis 1

Riistvarakonfliktide tuvastamine

Aktsepteeritud lühend: AVX512CD (konfliktide tuvastamine). Kasutatakse selliste olukordade tõhusaks tuvastamiseks, kus teatud tarkvaraprotseduure ei saa andmete sõltuvuse tõttu paralleelselt teostada. Pidagem meeles, et programmitsüklite optimeerimisel kasutatakse meetodit, mis eeldab üleminekut tsükli iteratsioonide järjestikuselt täitmiselt paralleelsele täitmisele. Silmus "rullitakse lahti" lineaarseks toimingute jadaks, seejärel sooritatakse need toimingud paralleelselt vektorregistrite abil. See tehnika on lubatud ainult siis, kui tsükli iteratsioonide vahel pole andmete konflikte. Vastasel juhul, kui mõni iteratsioon kasutab andmeid, mida eelmine iteratsioon peaks ette valmistama, põhjustab nende paralleelne täitmine vea.

Andmete edasilaadimine

Aktsepteeritud lühend: AVX512 PF (Eellaadimine) . Eellaadimismehhanismi on täiustatud, et see sobiks juhuslikult killustatud andmete laadimisega. Edasilaadimist selle lihtsaimal kujul on Inteli protsessorites kasutatud alates Pentium III-st. See koosneb operandide eelnevast lugemisest RAM-ist vahemällu spetsiaalsete käskude (eellaadimisvihjete) abil. See minimeerib ebaproduktiivseid pause protsessoris, kuna andmete küsimisel laaditakse need juba mälust. Nüüd saab seda toimingut teha mitte ainult ühe mäluelemendi, vaid ka rakkude loendi jaoks, mille aadressid on vektorregistris.


Joonis 2

Eksponentide ja pöördarvude arvutamine

Aktsepteeritud lühend: AVX512ER (eksponentsiaalne ja vastastikune). See käskude rühm annab ligikaudsed tulemused ruutjuure eksponendi, pöördväärtuse ja pöördarvu kohta. Suhteline viga, olenevalt käsu tüübist, on kuni 2 kuni astmeni miinus 23 või 2 kuni astmeni miinus 28. Selle rühma käske kasutatakse tõhusaks toetamiseks olukordades, kus on vastuvõetav täpsuse ohverdamine jõudluse huvides. Teeme kohe reservatsiooni, et astendaja tähendab siin kahe (ja mitte arvu e) tõstmist antud astmeni. See vastuoluline terminoloogiline omadus on Inteli inseneride südametunnistusel.

Muutuva bitiga toimingud

Aktsepteeritud lühend: AVX512 VL (Vektor Pikkus) . See funktsioon kasutab ära AVX512 võimalusi, eriti ülalkirjeldatud predikaate ja 32 vektoriregistrit) 128- ja 256-bitiste operandide jaoks.

Baitide ja 16-bitiste operandide käsitlemine

Aktsepteeritud lühend: AVX512 B.W. (Bait ja Sõna) . Võimaldab kasutada AVX512 võimalusi 8- ja 16-bitiste täisarvuliste operatsioonide jaoks.

32- ja 64-bitiste operandide töötlemine

Aktsepteeritud lühend: AVX512 DQ (Kahekordne sõna ja Quad Sõna) . Võimaldab kasutada AVX512 võimalusi 32-bitiste ja 64-bitiste toimingute jaoks.

Kombineeritud korrutamine-liitmine 52-bitiste operandide jaoks

Aktsepteeritud lühend: AVX512IFMA (täisarvude korrutamine ja liitmine). Märgita täisarvude korrutamine 52 bitiga. Nii ebatüüpilise numbrivormingu kasutamisele avalikes dokumentides ei õnnestunud seletust leida. Pidades meeles, et mantissi laius kahekordse täpsusega arvu korral on 52 bitti, oletame, et eesmärgiks oli saada mantissi iseseisva väärtusena täisarvudes (ja seega kiiresti) töödelda.

Tehted baitidega kui osa vektorregistritest

Aktsepteeritud lühend: AVX512VBM (vektoribaitidega manipuleerimine). See hõlmab juhiseid vektoriregistrites asuvate baitoperandide ümberkorraldamiseks ja valikuliseks edastamiseks.

Kokkuvõte

Nagu ülaltoodust nähtub, tähendab AVX512 laiendamine uute protsessori juhiste ja arhitektuuriressursside kasutuselevõttu. Seetõttu saab tootlikkuse tõusu ainult tarkvara, mis on kirjutatud ja optimeeritud uut tehnoloogiat arvesse võttes.

Ilmselgelt on sellise tehnoloogia toimimiseks vaja ka operatsioonisüsteemi tuge, kuna registrite arvu ja bitisügavuse suurenemine toob kaasa teabe hulga, mida tuleb protsessori konteksti vahetamisel salvestada ja taastada. multitegumtöö keskkond. Pange tähele, et Intel on ühendanud nii palju kui võimalik

Täna tahan alustada vestlust sellest, millised avx käsud on protsessoris, kus ja milleks neid kasutatakse.

Tavaline ostja läheb poodi ja soovib osta arvuti/sülearvuti tööks ja mängimiseks. Praktikas on võimsam ja odavam kirjutada essee Wordis ja seejärel mängida.
Mis puutub protsessoritesse, siis riiulitel on vihased kännud, mis on võimsuselt võrdsed i-3-dega. Kas i3 on turunduslik vandenõu? Kas Pentium on tõesti "sama tüüpi 3, ainult odavam"? Jah ja ei. Siin on asi.

Wordis essee kirjutamiseks piisab kõige odavamast Celeronist (ja saate "pistikuprotsessori" veelgi odavamalt, kui ostate selle kirbukalt koos kviitungi ja ülejäänud garantiiga).
Kõigi mängude mängimiseks pärast abstrakti sobib Pentium, millel on i-3 omadused (2 südamikku 4 keerme). Mängude jaoks pole AVX-i juhiseid vaja (kui vajalikud SSE-d on olemas).

Kuid professionaalsete ülesannete jaoks on riistvara virtualiseerimine ja AVX-juhiste tugi kasulikud, seega on parem võtta vähemalt i-3.

Miks me vajame AVX-i juhiseid?

Mida sisaldab hulk erialaseid ülesandeid? AVX-i puuduvatel kividel puudub reeglina ka riistvaraline virtualiseerimiskiirendus.
Androidi arendus, mis nõuab sama ämbri virtuaalmasinat (mõned emulaatorid isegi ei käivitu, mõned töötavad kurvalt, laadides tugevalt tuumasid).
Multimeediumiandmete närimine (alates fotode töötlemisest kuni video kodeerimise ja 3D-graafika lõikamiseni, nii et let's play playerid peaksid kallima protsessori jaoks rohkem välja pakkuma).

Kui ilma AVX-ita

Protsessoril on juhiste jaoks registrid.
SSE-register on 128-bitine ja AVX-register 256-bitine.
Seega, et mitte kellelegi kivi anatoomiaga hinge heita, ütleme nii – 256 ei mahu 128 sisse.

Ilma AVX-ita saate töödelda ka fotosid, närida videoid ja lõigata kolm-de. Kuid on nüansse ...
Lihtsamalt öeldes lõikab vana 8-tuumaline Xeon (ei ole võimeline AXV-le) videoid sama kiirusega kui kaasaegne i3 (võimeline AVX).

Protsessoril on konveier: otsis välja, kust see mälust võtta, võttis mälust, arvutas välja ja saatis tulemused mällu.
Lihtsustatud torujuhet AVX-ga ja ilma saab kujutada järgmiselt.

Nagu näete, on teisel juhul vähem toiminguid. Millest on loogiline eeldada, et AVX-loendur töötab kiiremini (igas arvutustsüklis). Ja kuna see on igas kellatsüklis kiirem, saate kiiremini arvutada, kui teil on vähem gigahertse.

Teine hea asi AVX-i juures on lisaoperand. Kasutatakse mitte 2 operandi, vaid 3, mis samuti lühendab konveieri. Oletame, et tahame lisada X ja Y.
Kood: Tavaline töö, kus 2 operandi (X=X+Y) kirjutatakse üle ühe operandi.
AVX-operatsioon, kus 3 operandi (Z=X+Y) võimaldab kirjutada tulemuse kolmandale operandile.
Raske? Ok, jääme lihtsaks.

AVX-iga videote tegemine on kiirem. Sest lisaks eelnevale lisandub boonuseks optimaalne kaadri jaotus.
Arvuti ei arvuta iga kaadrit ümber. See jagab raami ristkülikuteks ja võrdleb neid ning kui sobiv leitakse, kasutab valmis tükki.
Siin õppis AVX videotega optimaalsemalt töötama (huvilistele lugege professionaalidelt ja piirdun ilusa pildiga).

Varem oli jaotus nii, nagu vasakul näidatud. AVX-i partitsioonidega saab teha nutikamaid asju – nagu on näidatud paremal.

Kokkuvõtteid tehes

Abstrakti kirjutamiseks Wordis sobib iga protsessor.
Selleks, et pärast essee asemel mängu mängida, sobib mina-kolmanda iseloomuga känd.
Sisu vähendamiseks on parem võtta i-kolmandik välja.

Katsesüsteemide ja testimismeetodite kirjeldus

Testimise põhieesmärk on tuvastada jõudluse kasvu, mida on võimalik saavutada mitte-ülekiiretavate protsessorite kiirendamisel. Seetõttu testiti meie testimiseks kaasa võetud Core i5 ja i3 liini nooremesindajaid Core i5-6400 ja i3-6100 protsessoreid kaks korda: nominaaltöörežiimis ja sagedusel 4,7 GHz, mis põhineb omandatud kogemusi võib pidada piisavaks tüüpiliseks ülekiirendamise režiimiks Skylake'i põlvkonna protsessoritele. Lisaks osales testides ka täisväärtuslik K-seeria overclocker protsessor Core i5-6600K. Selle olemasolu testides on vajalik selleks, et hinnata, kas kiirendamise jõudlus erineb avariirežiimides töötamiseks mõeldud ja mitte ette nähtud protsessorite vahel ja kui jah, siis kui palju. Testisime Core i5-6600K-d kaks korda: nii nominaalrežiimis kui ka 4,6 GHz-ni kiirendatuna (see on meie proovi maksimaalne saavutatav sagedus, kui toitepinge tõsteti 1,425 V-ni).

Katsesüsteemides osalevate komponentide täielik loetelu on järgmine:

  • Protsessorid:
    • Intel Core i5-6600K (Skylake, 4 tuuma, 3,5–3,9 GHz, 6 MB L3);
    • Intel Core i5-6400 (Skylake, 4 tuuma, 2,7–3,3 GHz, 6 MB L3);
    • Intel Core i3-6100 (Skylake, 2 tuuma + HT, 3,7 GHz, 3 MB L3).
    • Protsessori jahuti: Noctua NH-U14S.
    • Emaplaat: ASUS Maximus VIII Ranger (LGA1151, Intel Z170).
    • Mälu: 2 × 8 GB DDR4-3200 SDRAM, 16-18-18-36 (Corsair Vengeance LPX CMK16GX4M2B3200C16R).
    • Videokaart: NVIDIA GeForce GTX 980 Ti (6 GB/384-bitine GDDR5, 1000-1076/7010 MHz).
    • Ketta alamsüsteem: Kingston HyperX Savage 480 GB (SHSS37A/480G).
    • Toiteallikas: Corsair RM850i ​​(80 Plus Gold, 850 W).

Testimine viidi läbi operatsioonisüsteemis Microsoft Windows 10 Enterprise Build 10586, kasutades järgmisi draivereid:

  • Inteli kiibistiku draiver 10.1.1.8;
  • Inteli haldusmootori liidese draiver 11.0.0.1157;
  • NVIDIA GeForce 361.43 draiver.

Arvuti jõudluse mõõtmiseks kasutatavate tööriistade kirjeldus:

Võrdlusnäitajad:

  • BAPCo SYSmark 2014 versioon 1.5 – Office’i tootlikkuse stsenaariumide testimine (kontoritöö: tekstide ettevalmistamine, arvutustabelite töötlemine, meiliga töötamine ja Interneti-saitide külastamine), meedia loomine (multimeediumisisu kallal töötamine – reklaamklipi loomine eelvõtte digitaalsete piltide ja video abil) ja Data/Finantsanalüüs (statistiline analüüs ja investeeringute prognoosimine teatud finantsmudeli alusel).
  • Futuremark 3DMark Professional Edition 1.5.915 – testimine Sky Diver, Cloud Gate ja Fire Strike stseenides.

Rakendused:

  • Adobe After Effects CC 2015 – renderduskiiruse testimine kiirjälgimise abil. Mõõdetakse aega, mille süsteem kulutab eelnevalt ettevalmistatud video renderdamisele kiirusega 1920 × 1080 @ 30 kaadrit sekundis.
  • Adobe Photoshop CC 2015 – testib jõudlust graafiliste piltide töötlemisel. Mõõdetakse testskripti keskmist täitmisaega, mis on Retouch Artists Photoshop Speed ​​​​Test loominguline ümbertöötamine, mis hõlmab nelja digikaameraga tehtud 24-megapikslise pildi tüüpilist töötlemist.
  • Adobe Photoshop Lightroom 6.1 – toimivuse testimine RAW-vormingus pildiseeria paketttöötlemisel. Testi stsenaarium hõlmab Nikon D300 digikaameraga tehtud kahesaja 12-megapikslise RAW-pildi järeltöötlust ja eksportimist JPEG-vormingusse eraldusvõimega 1920 × 1080 ja maksimaalse kvaliteediga.
  • Adobe Premiere Pro CC 2015 – jõudluse testimine mittelineaarseks videotöötluseks. Mõõdetakse erinevate efektidega HDV 1080p25 videot sisaldava Blu-Ray projekti renderdamise aega.
  • Autodesk 3ds max 2016 – lõplik renderduskiiruse testimine. Mõõdab aega, mis kulub renderdamiseks eraldusvõimega 1920 x 1080, kasutades standardse Hummeri stseeni mentaalkiirguse renderdajat.
  • Blender 2.76 - lõpliku renderduse kiiruse testimine ühes populaarses tasuta paketis kolmemõõtmelise graafika loomiseks. Mõõdetakse Blender Cycles Benchmark rev4 lõpliku mudeli ehitamise kestust.
  • Microsoft Edge 20.10240.16384.0 - kaasaegsete tehnoloogiate abil loodud Interneti-rakenduste jõudluse testimine. Kasutatakse spetsiaalset testi WebXPRT 2015, mis rakendab HTML5-s ja JavaScriptis Interneti-rakendustes tegelikult kasutatavaid algoritme.
  • TrueCrypt 7.2 – krüptograafiline jõudluse testimine. Kasutatakse programmi sisseehitatud võrdlusalust, mis kasutab AES-Twofish-Serpent kolmekordset krüptimist.
  • WinRAR 5.30 - arhiveerimise kiiruse testimine. Mõõdetakse aega, mille arhiveerija kulutab erinevate failidega kataloogi tihendamiseks kogumahuga 1,7 GB. Kasutatakse maksimaalset tihendusastet.
  • x264 r2638 – video H.264/AVC-vormingusse ümberkodeerimise kiiruse testimine. Toimivuse hindamiseks kasutame originaalset 1080p@50FPS AVC-videofaili, mille bitikiirus on umbes 30 Mbps.
  • x265 1.8+188 8bpp – videote paljutõotavasse H.265/HEVC vormingusse ümberkodeerimise kiiruse testimine. Toimivuse hindamiseks kasutatakse sama videofaili nagu x264 kodeerija ümberkodeerimise kiiruse testis.

Mängud:

  • Kangelaste seltskond 2. 1280×800 eraldusvõime sätted: Maksimaalne pildikvaliteet, Anti-Aliasing = Väljas, Kõrgem tekstuuri detail, Kõrge lume detail, Füüsika = Väljas. 1920 × 1080 eraldusvõime sätted: maksimaalne pildikvaliteet, kõrge aliasing, kõrgem tekstuuri detail, kõrge lume üksikasjad, füüsika = kõrge.
  • Grand Theft Auto V. 1280 × 800 eraldusvõime sätted: DirectX versioon = DirectX 11, FXAA = väljas, MSAA = väljas, NVIDIA TXAA = väljas, rahvastiku tihedus = maksimum, rahvastiku mitmekesisus = maksimum, kauguse skaleerimine = maksimum, tekstuuri kvaliteet = väga kõrge, varjundi kvaliteet = Väga kõrge, varju kvaliteet = väga kõrge, peegelduskvaliteet = ultra, peegeldus MSAA = väljas, vee kvaliteet = väga kõrge, osakeste kvaliteet = väga kõrge, rohu kvaliteet = ülimalt, pehme vari = kõige pehmem, post FX = ultra, mängusisene sügavus Väljaefektid = sees, anisotroopne filtreerimine = x16, ümbritsev oklusioon = kõrge, tesselatsioon = väga kõrge, pikad varjud = sees, kõrge eraldusvõimega varjud = sees, suure detaili voogesitus lendamise ajal = sees, laiendatud kauguse skaleerimine = maksimaalne, laiendatud varjude kaugus = Maksimaalne. 1920 × 1080 eraldusvõime sätted: DirectX versioon = DirectX 11, FXAA = väljas, MSAA = x4, NVIDIA TXAA = väljas, rahvastiku tihedus = maksimum, rahvastiku mitmekesisus = maksimum, kauguse skaleerimine = maksimaalne, tekstuuri kvaliteet = väga kõrge, varjundi kvaliteet = Väga kõrge, varju kvaliteet = väga kõrge, peegelduskvaliteet = ultra, peegeldus MSAA = x4, vee kvaliteet = väga kõrge, osakeste kvaliteet = väga kõrge, rohu kvaliteet = ultra, pehme vari = kõige pehmem, post FX = ultra, mängusisene sügavus Väljaefektid = sees, anisotroopne filtreerimine = x16, ümbritsev oklusioon = kõrge, tesselatsioon = väga kõrge, pikad varjud = sees, kõrge eraldusvõimega varjud = sees, suure detaili voogesitus lendamise ajal = sees, laiendatud kauguse skaleerimine = maksimaalne, laiendatud varjude kaugus = Maksimaalne.
  • F1 2015. 1280×800 eraldusvõime sätted: ülikõrge kvaliteet, 0xAA, 16xAF. 1920 × 1080 eraldusvõime seaded: ülikõrge kvaliteet, SMAA + TAA, 16xAF. Testimisel kasutatakse Melbourne'i rada.
  • Hitman: Absolutsioon. 1280 × 800 eraldusvõime sätted: ülikvaliteet, MSAA = väljas, kõrge tekstuurikvaliteet, 16-kordse tekstuuriga aniso, ultravarjud, kõrge SSAO, globaalne valgustus = sees, kõrge peegeldus, FXAA = sees, ülimalt detailsus, suur teravussügavus, Tesselatsioon = sees, normaalne õitsemine. 1920 × 1080 eraldusvõime sätted: ülikvaliteet, 8x MSAA, kõrge tekstuurikvaliteet, 16x tekstuur, aniso, Ultra Shadows, kõrge SSAO, globaalne valgustus = sees, kõrge peegeldus, FXAA = sees, ülimalt detailsus, suur teravussügavus, tesselatsioon = Sees, tavaline õitsemine.
  • Metroo: Last Light Redux. 1280 × 800 eraldusvõime sätted: DirectX 11, kõrge kvaliteet, tekstuuri filtreerimine = AF 16X, liikumishägu = tavaline, SSAA = väljas, tesselatsioon = tavaline, täiustatud PhysX = väljas. 1920 × 1080 eraldusvõime sätted: DirectX 11, väga kõrge kvaliteet, tekstuuri filtreerimine = AF 16X, liikumishägu = tavaline, SSAA = sees, tessellatsioon = tavaline, täiustatud PhysX = väljas. Testimiseks kasutatakse 1. stseeni.
  • Tom Clancy Rainbow Six Siege. 1280 × 800 eraldusvõime sätted: Tekstuuri kvaliteet = Ultra, Tekstuuri filtreerimine = Anisotroopne 16x, LOD kvaliteet = Ultra, Varju kvaliteet = Kõrge, Varju kvaliteet = Väga Kõrge, Peegelduse kvaliteet = Kõrge, Ümbritsev oklusioon = SSBC, Objektiivi efektid = Bloom + Objektiiv Põletus, sissesuumimise sügavus = sees, protsessijärgne aliasing = väljas, mitme näidise aliasing = väljas. 1920 × 1080 eraldusvõime sätted: Tekstuuri kvaliteet = Ultra, Tekstuuri filtreerimine = Anisotroopne 16x, LOD kvaliteet = Ultra, Varju kvaliteet = Kõrge, Varju kvaliteet = Väga Kõrge, Peegelduse kvaliteet = Kõrge, Ümbritsev oklusioon = SSBC, Objektiivi efektid = Bloom + Objektiiv Põletus, sissesuumimise sügavus = sees, protsessijärgne aliasing = välja lülitatud, mitme näidise aliasing = MSAA 4x.
  • Varas. 1280 × 800 eraldusvõime sätted: tekstuuri kvaliteet = väga kõrge, varju kvaliteet = väga kõrge, teravussügavuse kvaliteet = kõrge, tekstuuri filtreerimise kvaliteet = 8x anisotroopne, SSAA = väljas, ekraaniruumi peegeldused = sees, parallaksi oklusiooni kaardistamine = sees, FXAA = väljas, kontakti kõvenevad varjud = sees, tessellatsioon = sees, pildipõhine peegeldus = sees. 1920 × 1080 eraldusvõime sätted: tekstuuri kvaliteet = väga kõrge, varju kvaliteet = väga kõrge, teravussügavuse kvaliteet = kõrge, tekstuuri filtreerimise kvaliteet = 8x anisotroopne, SSAA = kõrge, ekraaniruumi peegeldused = sees, parallaksi oklusiooni kaardistamine = sees, FXAA = Sees, Kontakti kõvenevad varjud = Sees, Tesselatsioon = Sees, Pildipõhine peegeldus = Sees.
  • Täielik sõda: Attila. 1280×800 eraldusvõime sätted: Anti-aliasing = väljas, tekstuuri eraldusvõime = ultra; Tekstuuri filtreerimine = anisotroopne 4x, varjud = max. Kvaliteet, vesi = max. Kvaliteet, taevas = max. Kvaliteet, teravussügavus = väljas, osakeste efektid = max. Kvaliteet, ekraaniruumi peegeldused = max. Kvaliteet, muru = max. Kvaliteet, puud = max. Kvaliteet, maastik = max. Kvaliteet, üksuse üksikasjad = max. Kvaliteet, hoone üksikasjad = max. Kvaliteet, ühiku suurus = ultra, illuminaatori kvaliteet = 3D, piiramatu videomälu = väljas, V-Sync = välja lülitatud, SSAO = sees, moonutusefektid = sees, vinjet = väljas, läheduse tuhmumine = sees, veri = sees. 1920 × 1080 eraldusvõime sätted: maksimaalne kvaliteet.

Nii et kiirendamine, nagu me seda paar aastat tagasi teadsime – enne kui Intel hakkas välja andma spetsiaalseid kiirendamisprotsessoreid ja blokeeris võime suurendada töösagedusi teistes CPU-des, on lõpuks naasmas. Raske öelda, kust tegelikult tuli lahendus kogu Skylake’i mudelivaliku baaskellageneraatori sagedusluku eemaldamise küsimusele. Võib-olla osutus Inteli BCLK Governor kaitse mitte nii tugevaks ja langes emaplaadi BIOS-i arendajate surve alla. Kuid on ka võimalik, et Intel lükkas nad ise õiges suunas, sest lõpuks võitsid kõik: mikroprotsessorite hiiglane, plaatide tootjad ja kasutajad.

Tõepoolest, tänu äsja avatud kiirendamisvõimalustele on ostjatel LGA1151 platvormile ülemineku kasuks uued argumendid. Selles pole kahtlust see stimuleerib teatud määral uute protsessorite müük. Teel saavad uusi kliente ka plaaditootjad, kes saavad kindlasti suurendada Intel Z170 baasil põhinevate mudelite müüki. Kõrvale ei jää ka entusiastlikud kasutajad. Nad ei seisa silmitsi mitte ainult täiendava eksperimenteerimise võimalusega, vaid ka võimalusega saada üsna ilmset rahalist kasu. Nüüd saab ju kiirendamissüsteeme kokku panna varasemast odavamatest komponentidest.

Kuid kogu selle olukorra teeb eriti pikantseks see, kui hästi kõik Inteli jaoks välja kukkus. Lõppude lõpuks võib kõigi, sealhulgas mitte-kiirekiiretavate LGA1151 protsessorite kiirendamise võimaluse avastamine kergesti põhjustada Skylake'i lipulaevade mudelite nõudluse langust. Vanemate ametlikult heakskiidetud kiirendamisega Skylake'i müük on aga ohutu. Fakt on see, et mitte-K protsessorite kiirendamisel tekib ootamatult terve hunnik probleeme, millest halvim on AVX/AVX2 käskude täitmise kiiruse vähenemine. Selle tulemusel jõudlus mitme programmiga töötamisel kiirendamise ajal mitte ainult ei suurene, vaid vastupidi, väheneb. See tähendab, et sellisest kiirendamisest saab tõelist kasu ainult juhtudel, kui me räägime eranditult tööst rakendustes, mis ei kasuta protsessori FPU kaasaegseid võimalusi.

Kõik see tähendab, et kui me räägime kutsetegevusest, mille jaoks nominaalrežiimis töötavate protsessorite jõudlusest ei piisa, saate nagu varemgi valida ainult Core i5-6600K või Core i7-6700K vahel. Mitte-K protsessorite kiirendamine sobib tegelikult ainult ringi mängimiseks – selle sõna mõlemas tähenduses. Ühest küljest on selliste protsessorite kiirendamisega katsetamine uskumatult huvitav, sest see on tõesti midagi uut ja mõnevõrra keelatud. Teisest küljest kuuluvad mängud nende rakenduste hulka, mida AVX/AVX2 juhised (veel?) ei kasuta.

Kuid isegi kui teid huvitavad vaid mängud ja programmid, kus AVX/AVX2 laiendusi ei kasutata ja kindlasti ka ei kasutata, ei tähenda Skylake’i põlvkonna neo-overclocking protsessorite puhul ilmnenud kiirendamisvõime sugugi seda, et piltlikult öeldes saab aega tagasi kerida ja naasta Celeron 300A kuldaega. Tänapäeva reaalsuses on odava protsessori jõudlust lipulaeva tasemele tõsta mitte mingil juhul võimatu. Pärast seda, kui Intel jagas 2000. aastate keskel tarbijaprotsessorite valiku tuumade arvu ja toetatud tehnoloogiate loendi alusel klassidesse, jäi igasugune "klassidevaheline võitlus" pöördumatult minevikku. Ja seda näitasid selgelt testid. Noorem Core i3-6100 suudab ülekiirendamise korral vaid teeselda, et üritab saavutada esialgsete Core i5 mudelite jõudlust. Ja noorem Core i5-6400 võib proovida konkureerida Core i5-6600K-ga, kuid loomulikult pole see võimeline konkureerima Core i7-6700K-ga.

Täiustused

  • Uus VEX-juhiste kodeerimisskeem
  • SIMD vektorregistrite suurus suureneb 128-lt (XMM) 256 bitile (registrid YMM0 - YMM15). Olemasolevad 128-bitised SSE-käsud kasutavad uute YMM-i registrite alumist poolt, ilma et see muudaks. YMM-registritega töötamiseks on lisatud uued 256-bitised AVX-juhised. Tulevikus on võimalik SIMD vektorregistreid laiendada 512 või 1024 bitiseni.

Uus kodeerimisskeem

Uus VEX-juhiste kodeerimisskeem kasutab VEX-i eesliidet. Praegu on kaks VEX-i eesliidet, 2 ja 3 baiti pikk. 2-baidise VEX-prefiksi puhul on esimene bait 0xC5, 3-baidise VEX-prefiksi puhul 0xC4. 64-bitises režiimis on VEX-i prefiksi esimene bait ainulaadne. 32-bitises režiimis on vastuolu LES-i ja LDS-i käskudega, mis lahendatakse teise baidi kõige olulisema bitiga; see on mõttekas ainult 64-bitises režiimis LES-i ja LDS-käskude toetamata vormide kaudu. Olemasolevate AVX-käskude pikkus, sealhulgas VEX-eesliide, ei ületa 11 baiti. Tulevastes versioonides on oodata pikemaid juhiseid.

Uued juhised

Juhised Kirjeldus
VBROADCASTSS, VBROADCASTSD, VBROADCASTF128 Kopeerib 32-, 64- või 128-bitise operandi mälust kõikidesse XMM- või YMM-vektoriregistri elementidesse.
VINSERTF128 Asendab 256-bitise YMM-registri madala või kõrge poole 128-bitise operandi väärtusega. Sihtregistri teist osa ei muudeta.
VEXTRACTF128 Otsib 256-bitise YMM-registri madala või kõrgeima poole ja kopeerib selle 128-bitisesse sihtoperandi.
VMASKMOVPS, VMASKMOVPD Loeb tinglikult suvalise arvu elemente vektoroperandist mälust sihtregistrisse, jättes ülejäänud elemendid lugemata ja kustutades sihtregistri vastavad elemendid nullini. Samuti võib see tinglikult kirjutada mällu suvalise arvu elemente vektoriregistrist vektoroperandi, jättes ülejäänud mäluoperandi elemendid muutmata
VPERMILPS, VPERMILPD Järjestab 32- või 64-bitised vektorelemendid ümber vastavalt selektoroperandile (mälust või registrist).
VPERM2F128 Korraldab kahe 256-bitise registri 4 128-bitist elementi ümber 256-bitiseks sihtoperandiks, kasutades valijana vahetut konstanti (imm).
VZEROALL Kustutab kõik YMM-i registrid ja märgib need kasutamata. Kasutatakse 128-bitise režiimi ja 256-bitise režiimi vahel vahetamisel.
VZEROUPPER Nullib kõigi YMM-i registrite kõrgeima poole. Kasutatakse 128-bitise režiimi ja 256-bitise režiimi vahel vahetamisel.

AVX-i spetsifikatsioon kirjeldab ka käskude rühma, mida nimetatakse PCLMUL-iks (Parallel Carry-Less Multiplication, Parallel CLMUL)

  • PCLMULLQLQDQ xmmreg,xmmrm
  • PCLMULHQLQDQ xmmreg,xmmrm
  • PCLMULLQHQDQ xmmreg,xmmrm
  • PCLMULHQHQDQ xmmreg,xmmrm
  • PCLMULQDQ xmmreg,xmmrm,imm

Rakendus

Sobib intensiivseteks ujukomaarvutusteks multimeediaprogrammides ja teadusülesannetes. Kui on võimalik suurem paralleelsus, suurendab jõudlust reaalarvudega.

Operatsioonisüsteemi tugi

YMM-i registrite kasutamine eeldab operatsioonisüsteemi tuge. Järgmised süsteemid toetavad YMM-registreid:

AVX-ga mikroprotsessorid

Inteli ja AMD rakenduste ühilduvust käsitletakse XOP juhiste komplektis.

Tulevased laiendused

VEX-i käskude kodeerimisskeem võimaldab hõlpsasti AVX-i käsukomplekti veelgi laiendada. Järgmises versioonis AVX2 on plaanis lisada juhised täisarvudega töötamiseks, FMA3 (suurendab jõudlust ujukomaarvude töötlemisel 2 korda), mällu jaotatud vektori laadimiseks (kogumiseks) jne.

Erinevad plaanitud täiendused x86 juhiste komplekti:

  • CLMUL
  • AMD FMA4
  • AMD XOP
  • AMD CVT16

Märkmed


Põhilised juhiste laienduskomplektid x86 perekonna protsessorite jaoks
MMX | MMXEXT | SSE | SSE2 | SSE3 | SSSE3 | SSE4 | ATA | 3DNow! | 3DNowExt | SSE5 | AVX| AES

Wikimedia sihtasutus. 2010. aasta.

Vaadake, mis on "AVX" teistes sõnaraamatutes:

    Avx- (((pilt))) Sigles d une seule lettre Sigles de deux lettres > Sigles de trois lettres AAA à DZZ EAA à HZZ IAA à LZZ MAA à PZZ QAA à TZZ UAA à XZZ … Wikipédia en Français

    AVX- Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres Sigles de cinq lettres Sigles de six Letres Sigles de sept… … Wikipédia en Français

Programmeerija juhend AVX-512 laiendatud juhistekomplektiga töötamiseks. Eeldati, et 512-bitiste juhiste toega täisarvude ja ujukomaväärtuste töötlemise ühikud ilmuvad Inteli 14-nm Skylake'i põlvkonna protsessoritesse. Siis sai teatavaks, et Skylake'i põlvkonnas lisatakse AVX-512 tugi ainult Intel Xeoni serveriprotsessoritele ja Xeon Phi arvutuskiirenditele (14-nm Knights Landingi kiirendite põlvkonnas). Knights Landingi kiirendid lubavad toetada suuremat komplekti AVX-512 laiendusi kui üldotstarbelised Xeoni protsessorid. Seda seletatakse asjaoluga, et AVX-512 laiendatud käsukomplekt on suunatud arvutustes paralleelsuse arendamisele, mida praeguses etapis on arvutikiirendites lihtsam (ja parema tuluga) rakendada.

Muide, Intel Knights Landingi kiirendid põhinevad oluliselt ümber kujundatud Atom Silvermonti arhitektuuril. 72-tuumalises konfiguratsioonis saavad Knights Landingi protsessorid käsitleda kuni 288 samaaegset lõime ja pakkuda kuni 3 teraflopsi topelttäpsust ja kuni 6 teraflopsi ühekordset täpsust. Selliste lahenduste puhul on AVX-512 tugi just see, mida arst tellis. Paralleelsus on nende olemus. Kuna Knights Landing hakkab tarnima sel kvartalil, on AVX-512 SIMD juhiseid rakendav tarkvara päevaküsimus. Kuna Skylake-EP protsessorid, välja arvatud mõned erandid, kasutavad samu AVX-512 komplekte nagu Knights Landing, on Skylake-EP mudelite turule tuleku ajaks uutele laiendustele märkimisväärne tarkvara tugi. Tuletame meelde, et Skylake-EP ilmumine on oodata 2017. aasta teisel poolel.

AVX-i juhiste toe sügavus Inteli töölaua- ja serveriplatvormidel (Intel, ComputerBase.de)

Ka 2017. aasta teises pooles ilmuvad Inteli esimesed 10nm protsessorid, mida täna tunneme koodnime Cannon Lake all. Hiljutises Inteli programmeerijatele mõeldud dokumendis avastasid ComputerBase.de autorid, et Cannon Lake'i klientprotsessorid toetavad ka AVX-512. Vähemalt räägime laiendustest AVX512IFMA, AVX512VBMI, SHA ja UMPI. Kõik kokku näitab, et 2017. aasta lõpus võime oodata programmeerijate laialdast tuge AVX-512-le. Kliendirakenduste jaoks tähendab AVX-512 kasutamine massiivsete multimeediumiandmete töötlemist väiksema protsessorikoormusega. Täpsemalt on AVX-512-ga ühilduvate riistvararessurssidega töötamine võimalikult tõhus. Nende ülesannete puhul tarbimine väheneb ja tootlikkus suureneb.

Kasu AVX-512 rakendamisest võrreldes AVX-256/128 ja varasemate "multimeediumi" juhistega

Olgu lisatud, et AMD Zen protsessori arhitektuur, mis alustab oma elu ettevõtte toodetes 2016. aasta lõpus või 2017. aasta alguses, töötab kahe 256-bitise AVX-käsuga taktitsükli kohta. Selleks saab iga Zeni tuum kaks 256-bitist FMAC-i (fused multiply – lisage võimalus). Praktikas võimaldab selline arhitektuur täita ühe 512-bitise käsu ühe taktitsükli jooksul. Me ei saa veel öelda, kuidas seda Intel Cannon Lake'i protsessorites rakendatakse.