Powered by Wetter2.com
November 22, 2024

Kiddo.lt

РУССКИЙ ВОЕННЫЙ КОРАБЛЬ, ИДИ НАХУЙ

“Apple M1” “mažųjų” “Icestorm” branduolių lyginamoji analizė su “didžiaisiais” “Firestorm” branduoliais

Kai “Apple” paskelbė apie M1 procesorių, šis lustas tapo pirmuoju, kuriame buvo įdiegtas hibridinis procesoriaus branduolių išdėstymas, kai didesni, didelio našumo branduoliai buvo sujungti su mažesniais, mažesnės galios branduoliais. Žinoma, jau žinome, kad šie dideli branduoliai veikia gerai, tačiau dar nematėme, kad mažieji branduoliai būtų išbandyti lyginamųjų testų metu. Vis dėlto “Eclectic Light Company” tinklaraštis dabar nušvietė šį klausimą, todėl galime pamatyti, kaip šie mažesni branduoliai atlieka bendras užduotis, palyginti su didesnės galios broliais.

Apple M1 lustą sudaro keturi didelio našumo “Firestorm” branduoliai ir keturi mažos galios “Icestorm” branduoliai. Abu IP veikia kartu, nors kiekvienas jų skirtas efektyviai vykdyti tam tikrų tipų kodą.

Mažesnieji branduoliai paprastai skiriami pagrindinėms OS apdorojimo užduotims ir tvarko foninio kodo vykdymą, todėl didieji branduoliai gali atlikti bet ką kitą, ypač didelio našumo darbus. Tačiau kai reikia atlikti kokią nors svarbią užduotį, pavyzdžiui, sunkų slankiojo kablelio skaičiavimą, ji nukreipiama į didesnius “Firestorm” branduolius.

Šiais bandymais mažiesiems “Icestorm” branduoliams taikomas slankiojo kablelio taškinės sandaugos bandymų rinkinys. Siekdamas užtikrinti, kad tik “Icestorm” branduoliai vykdytų užduotį, testuotojas nustatė paslaugos kokybės (QoS) parametrą 9, kuris įjungia tik šiuos mažesnius branduolius, o ne didesnius “Firestorm”, kaip matote toliau pateiktame procesoriaus apkrovos stebėsenos įrankio paveikslėlyje.

Įranga išbandė našumą pagal keturis scenarijus: “glaudus asemblerio kalbos ciklas, naudojant mišrias SIMD instrukcijas 4 plataus pločio vienaženkliais slankiojo kablelio skaičiaus masyvais; “Apple SIMD” (bibliotekų “Accelerate” giminaitis) skambutis simd_dot() dviem simd_float4 masyvams, naudojant “Swift”; paprastas “Swift”, naudojantis įterptines kilpas; “idiomatiškesnė” įterptinė “Swift” kilpa, naudojant “map” ir “reduce”.”

Jei palygintume su etaloniniais dideliais “Firestorm” branduoliais, kurie naudojami kaip atskaitos taškas 100 % rezultatui gauti, “Icestorm” branduoliai šioms užduotims atlikti sugaišta tiek procentų laiko: 190 % surinkimo kalbai, 330 % SIMD (“Accelerate”) bibliotekos funkcijoms, 280 % paprastajai “Swift” ir 550 % “idiomatiniam” “Swift” apdorojimui. Atkreipkite dėmesį, kad atskaitos taškas yra 100 %, o 200 % rezultatas reiškia dvigubai ilgesnį konkrečios užduoties atlikimo laiką. Idiomatinio “Swift” kodo lyginamasis rodiklis buvo pats blogiausias “Icestorm” branduolių scenarijus – jam atlikti prireikė daugiau nei 5,5 karto daugiau laiko nei “Firestorm” branduolių.

Vis dėlto tai nėra netikėta, nes “Icestorm” branduoliai pirmiausia sukurti siekiant didelio efektyvumo. Tai reiškia, kad kalbama apie mažą energijos ir šilumos kiekį, kartu užtikrinant gerą našumą. Kadangi baziniai “FireStorm” branduoliai veikia labai gerai, tai, kad jie yra kelis kartus lėtesni, atsižvelgus į efektyvumo padidėjimą, daug nereiškia.