Nova PPU arhitektura dovodi u pitanje AI akcelerator, tvrdeći da povećava performanse CPU-a za 100 puta

·

Nova PPU arhitektura dovodi u pitanje AI akcelerator, tvrdeći da povećava performanse CPU-a za 100 puta

U eri brzog razvoja AI akceleratora, CPU-ima opće namjene nije se pridavala velika pozornost. “Ako pogledate procesore iz generacije u generaciju, poboljšanja su postupna”, rekao je Timo Valtonen, izvršni direktor i suosnivač Flow Computinga sa sjedištem u Finskoj.

Valtonenov cilj je vratiti CPU-u njegovu “središnju” ulogu. Kako bi postigao taj cilj, on i njegov tim smislili su novi model. Umjesto stavljanja 16 istih CPU jezgri u prijenosno računalo, proizvođači mogu staviti 4 standardne CPU jezgre i 64 jezgre koje Flow Computing naziva Parallel Processing Unit (PPU) jezgre u isti prostor, omogućujući do 100 puta poboljšanje performansi. Valtonen i njegovi suradnici iznijeli su svoje argumente na konferenciji Hot Chips u kolovozu.

PPU pruža ubrzanje kada se računalni zadaci mogu paralelizirati, ali tradicionalni CPU-i ne mogu u potpunosti iskoristiti ovaj paralelizam, a preskup je prijenos zadataka na uređaje poput GPU-a.”Obično kažemo: ‘Paralelizacija je isplativa samo ako je radno opterećenje veliko’, jer će inače režijski troškovi nadoknaditi većinu naših dobitaka”, rekao je Jörg Keller, profesor paralelnog računarstva i VLSI-ja na Sveučilištu Hagen u Njemačkoj (Jörg Keller ) rekao je da nije bio uključen u istraživanje Flow Computinga. “A to se sada prebacuje na manja radna opterećenja, što znači da postoji više blokova koda koji mogu primijeniti ovaj paralelizam.”

Računalni zadaci mogu se grubo podijeliti u dvije kategorije: sekvencijalni zadaci, u kojima svaki korak ovisi o rezultatu prethodnog koraka; i paralelni zadaci koji se mogu dovršiti neovisno. Martti Forsell, tehnički direktor i suosnivač Flow Computinga, rekao je da se jedna arhitektura ne može optimizirati za oba zadatka u isto vrijeme. Dakle, ideja je imati neovisne jedinice optimizirane za svaku vrstu zadatka.

“Kada imamo sekvencijalno radno opterećenje u našem kodu, CPU dio će ga izvršiti. A kada naiđemo na paralelni dio, CPU će taj dio dodijeliti PPU-u. Tako da imamo najbolju izvedbu oba”, rekao je Fosse Er.

Prema Fussellu, postoje četiri glavna zahtjeva za računalnu arhitekturu koja optimizira paralelno računalstvo: tolerancija latencije memorije, što znači da se ne čeka u praznom hodu dok se sljedeći komad podataka učitava iz memorije; i imati dovoljnu širinu pojasa da se omogući komunikacija između tzv multi-threads, koji su lanci procesorskih instrukcija koje se izvode paralelno; učinkovita sinkronizacija, koja osigurava da se paralelni dijelovi koda izvršavaju ispravnim redoslijedom i paralelizam niske razine, mogućnost korištenja više funkcionalnih jedinica za izvođenje matematičkih i logičkih operacija; . Za novi pristup Flow Computinga, “Redizajnirali smo arhitekturu iz temelja za paralelno računanje”, rekao je Fussell.

Moguće je nadograditi bilo koji CPU

Kako bi sakrio latenciju pristupa memoriji, PPU implementira višenitnost: kada svaka nit zatraži memoriju, druga nit može početi raditi dok prva nit čeka odgovor. Kako bi se optimizirala propusnost, PPU je opremljen fleksibilnom komunikacijskom mrežom tako da bilo koja funkcionalna jedinica može komunicirati s drugim jedinicama prema potrebi, a također može postići nisku razinu paralelizma. Kako bi se riješio problem kašnjenja sinkronizacije, koristi se vlasnički algoritam pod nazivom “Wave Synchronization”, za koji se kaže da je do 10 000 puta učinkovitiji od tradicionalnih protokola sinkronizacije.

Kako bi demonstrirali snagu PPU-a, Fussell i njegovi suradnici izgradili su FPGA implementaciju s dokazom koncepta. Izjavili su da je FPGA radio točno onako kako se očekivalo u njihovom simulatoru, dokazujući da je PPU radio kako se očekivalo. Također su proveli više komparativnih studija PPU dizajna s postojećim CPU-ima. “U našim preliminarnim usporedbama performansi, uz pretpostavku da je silikonska implementacija Flow PPU radila istom brzinom kao jedan od uspoređivanih komercijalnih procesora i korištenjem naše mikroarhitekture, postigli smo poboljšanje do 100x”, rekao je Fussell.

Trenutno, tim razvija kompajler za PPU i traži partnere u području proizvodnje CPU-a. Nadaju se da će veliki proizvođač procesora biti zainteresiran za njihov proizvod kako bi ga mogli zajednički dizajnirati. Njihovi PPU-ovi mogu se implementirati s bilo kojom arhitekturom skupa instrukcija, tako da je svaki CPU potencijalno nadogradiv.

“Stvarno je vrijeme da se ova tehnologija plasira na tržište”, rekao je Keller. “Zato što sada trebamo računalstvo koje štedi energiju u mobilnim uređajima, a također trebamo visoke računalne performanse.”