Sparčiai besivystančių AI greitintuvų eroje bendrosios paskirties procesoriai nesulaukia daug meilės. „Jei pažvelgsite į procesoriaus kartos po vieną kartą, pamatysite laipsniškus patobulinimus“, – sako Timo Valtonen, Suomijoje įsikūrusios „Flow Computing“ generalinis direktorius ir vienas iš įkūrėjų.
„Valtonen“ tikslas yra grąžinti procesorius į jų teisėtą „pagrindinį“ vaidmenį. Siekdamas tai padaryti, jis ir jo komanda siūlo naują paradigmą. Užuot bandęs paspartinti skaičiavimą įdėdamas 16 identiškų procesoriaus branduolių, pavyzdžiui, į nešiojamąjį kompiuterį, gamintojas galėtų įdėti 4 standartinius procesoriaus branduolius ir 64 „Flow Computing“ vadinamojo lygiagretaus apdorojimo bloko (PPU) branduolius ir pasiekti tą patį plotą. iki 100 kartų geresnis našumas. Valtonenas ir jo bendradarbiai išdėstė savo bylą Hot Chips konferencijoje rugpjūčio mėn.
PPU pagreitina tais atvejais, kai skaičiavimo užduotį galima lygiagrečiai suderinti, tačiau tradicinis CPU nėra gerai įrengtas, kad galėtų pasinaudoti tuo lygiagretumu, tačiau perkėlimas į kažką panašaus į GPU būtų per brangus.
„Paprastai sakome: „Gerai, lygiagretinimas vertas tik tada, kai turime didelį darbo krūvį“, nes priešingu atveju dėl pridėtinių išlaidų žūva daug mūsų pelno“, – sako Jörgas Kelleris, FernUniversität Hagen mieste, Vokietijoje, profesorius ir paralelizmo ir VLSI vadovas. kuris nėra susijęs su „Flow Computing“. „Ir tai dabar keičiasi į mažesnius darbo krūvius, o tai reiškia, kad kode yra daugiau vietų, kur galite pritaikyti šį lygiagretavimą.
Skaičiavimo užduotis galima apytiksliai suskirstyti į dvi kategorijas: nuoseklias užduotis, kurių kiekvienas veiksmas priklauso nuo ankstesnio veiksmo rezultato, ir lygiagrečias užduotis, kurias galima atlikti savarankiškai. „Flow Computing“ CTO ir vienas iš įkūrėjų Martti Forsellas teigia, kad vienos architektūros negalima optimizuoti abiejų tipų užduotims. Taigi, idėja yra turėti atskirus padalinius, kurie būtų optimizuoti kiekvienam užduočių tipui.
„Kai turime nuoseklų darbo krūvį kaip kodo dalį, tada procesoriaus dalis jį vykdys. O kalbant apie lygiagrečias dalis, tada CPU tą dalį priskirs PPU. Tada mes turime geriausius žodžius“, – sako Forsellas.
Forsell teigimu, kompiuterio architektūrai, kuri optimizuota lygiagretumui, keliami keturi pagrindiniai reikalavimai: toleruoti atminties delsą, o tai reiškia, kad reikia rasti būdų, kaip ne tik sėdėti be darbo, kol iš atminties įkeliama kita duomenų dalis; pakankamas pralaidumas ryšiui tarp vadinamųjų gijų, lygiagrečiai veikiančių procesoriaus instrukcijų grandinių; efektyvus sinchronizavimas, o tai reiškia, kad reikia užtikrinti, kad lygiagrečios kodo dalys būtų vykdomos teisinga tvarka; ir žemo lygio lygiagretumas arba galimybė naudoti kelis funkcinius vienetus, kurie iš tikrųjų vienu metu atlieka matematines ir logines operacijas. „Flow Computing“ naujas požiūris „mes perkūrėme arba pradėjome kurti architektūrą nuo nulio, kad būtų galima atlikti lygiagretųjį skaičiavimą“, – sako Forsellas.
Galimas bet kurio procesoriaus atnaujinimas
Norėdami paslėpti prieigos prie atminties delsą, PPU įgyvendina kelių gijų sukūrimą: kai kiekviena gija iškviečia atmintį, kita gija gali pradėti veikti, kol pirmoji gija laukia atsakymo. Siekiant optimizuoti pralaidumą, PPU yra įrengtas lankstus ryšio tinklas, kad bet kuris funkcinis blokas galėtų susikalbėti su bet kuriuo kitu, jei reikia, taip pat leidžiant žemo lygio lygiagretumą. Norėdami susidoroti su sinchronizavimo vėlavimais, jis naudoja patentuotą algoritmą, vadinamą bangų sinchronizavimu, kuris, kaip teigiama, yra iki 10 000 kartų efektyvesnis nei tradiciniai sinchronizavimo protokolai.
Norėdami parodyti PPU galią, Forsell ir jo bendradarbiai sukūrė koncepcijos įrodymą FPGA savo dizaino įgyvendinimą. Komanda teigia, kad FPGA veikė taip pat, kaip ir jų simuliatorius, parodydamas, kad PPU veikia taip, kaip tikėtasi. Komanda atliko keletą palyginimo tyrimų tarp jų PPU dizaino ir esamo CPUS. „Mūsų preliminarūs našumo palyginimai buvo pasiekti iki 100 kartų (pagerėjimas), darant prielaidą, kad bus sukurtas silicio Flow PPU, kuris veiktų tokiu pat greičiu kaip ir vienas iš palygintų komercinių procesorių ir naudotų mūsų mikroarchitektūrą“, – sako Forsellas.
Dabar komanda dirba su savo PPU kompiliatoriumi, taip pat ieško partnerių procesoriaus gamybos erdvėje. Jie tikisi, kad didelis procesoriaus gamintojas susidomės jų gaminiu, kad galėtų dirbti prie bendro dizaino. Jų PPU gali būti įdiegtas su bet kokia instrukcijų rinkinio architektūra, todėl bet kurį procesorių galima atnaujinti.
„Dabar iš tikrųjų laikas šiai technologijai patekti į rinką“, – sako Kelleris. „Kadangi dabar mums reikia energiją tausojančio skaičiavimo mobiliuosiuose įrenginiuose, ir tuo pačiu metu mums reikia didelio skaičiavimo našumo.
Iš jūsų svetainės straipsnių
Susiję straipsniai visame internete