Grova beräkningar: Hur processorer sparar ström

Om du tänker på datoranvändning, ord som prestanda, hastighet, förbrukning och effektivitet kommer säkert att tänka på, men andra som korrekthet och precision är också viktiga. Men forskarna från OPRECOMP projektet håller inte med, och deras mål är att utveckla en radikalt annorlunda och mer flexibel typ av beräkning som kallas transprecisionsberäkning , som består, som du redan antar av ägaren av den här artikeln, att göra ungefärlig och inte exakta beräkningar. Hur skulle en processor av denna storlek fungera på en dator utan att orsaka fel?

Speciellt effektivitet , som består av att förbättra prestanda genom att minska konsumtionen, har blivit särskilt viktigt på senare tid och forskare har i decennier försökt hitta alternativa sätt att hitta de bästa värdena för båda. En av dessa forskningslinjer består i att bryta ut regeln om beräkningarnas precision , något som kan vara absurt för modern databehandling men som, som vi kommer att berätta för dig nedan, är mycket meningsfullt.

Hur processorer sparar ström

Precisionen för beräkningar i en processor

Att riva det 100% exakta antagandet som ligger till grund för nästan all modern digital databehandling är det primära målet för OPRECOMP-forskningskonsortiet, ledt av IBM Research Europe i Zürich. När vi pratar om en dator och mer specifikt en processor, tror vi alla att precision måste vara absolut, men i många applikationer är sådan precision helt enkelt inte nödvändig och förbrukar för mycket energi. Istället försöker OPRECOMP leverera approximationer med precis rätt mängd energi som behövs för jobbet, samtidigt som den nya databehandlingen blir snabbare. Det är vad vi kan kalla, "lata processorer" som gör "lagen om minsta ansträngning".

Rendera CPU-kod

Digitala datorer använder vanligtvis ett detaljerat kodningsschema som lagrar nummer i form av 64 binära siffror . I många fall kräver applikationerna dock inte alla dessa siffror, så en utmaning i detta projekt är inte bara att minska energiförbrukningen utan också att säkerställa att det ungefärliga resultatet av beräkningarna ligger inom de korrekta eller fördefinierade gränserna, eller åtminstone att sådana gränser kan ges för de förväntade resultaten.

Med andra ord: för närvarande, om en processor felberäknar en operation, får vi en blå skärm med fel och systemet hänger, så om processorn gjorde ungefärliga beräkningar skulle det verkligen inte fungera, eller hur? Men vad detta projekt hänvisar till är gör en korrekt beräkning men utan så många decimaler eftersom de är värdelösa i ett stort antal fall.

För att ge dig en idé kommer vi att ge ett exempel. Tänk dig att processorn måste beräkna antalet Pi, som, som du vet, har oändliga decimaler. Således när CPU uppmanas att beräkna det, det kommer att få 64 decimaler, men verkligheten är att applikationen som begärde det bara kräver 16 decimaler (det är ett exempel) för att utföra de operationer som krävs, så resten de bokstavligen har beräknats i ett värdelöst sätt. Av denna anledning, när vi pratar om talet Pi, säger vi generellt inte 3.14159265358979323846 ... men vi nöjer oss i allmänhet med att säga att det är 3.1416, avrundning eftersom vi med fyra decimaler vanligtvis har tillräckligt för det vi behöver.

Hur skulle en grov beräkningsprocessor fungera?

OPRECOM adresserar hela datastacken från den fysiska hårdvarunivån genom arkitektur till kompilatorer, algoritmer och programvara. Det strävar efter att erbjuda det första kompletta ramverket för omprecision för framtidens beräkning, och för att uppnå detta arbetar de inte bara på datorsidan utan deras team av matematiker, datavetare och programvarutekniker arbetar också med att visa fördelarna med applikationer. med grova beräkningar, till exempel en liten drönare som används för att flyga under långa perioder.

OPRECOMP

Andra specifika applikationsfält inkluderar Big Data-analys, maskininlärning och högpresterande databehandling (HPC). Den utvecklade arkitekturen kommer att behandla process-, minnes- och kommunikationsaspekter från lågeffektsystem (i storleksordningen milliwatt) som används i småskaliga enheter eller anslutna objekt till stora högpresterande datorsystem som har enorm förbrukning (i storleksordningen kilowatt). .

Projektgruppen har redan anpassat många befintliga algoritmer för att arbeta i transprecision: till exempel har teamet utvecklat en ny implementering av BLSTM-algoritmen som omvandlar bilder till text med bara 8-bitars precision. Det förlorar bara 0.01% noggrannhet men minskar i gengäld strömförbrukningen med upp till en faktor 8. Algoritmen har också implementerats i hårdvara, vilket visar att den kan automatiseras och användas i verkliga applikationer.

”En utmaning är att transprecisionsberäkning inte är särskilt känd, inte ens bland datavetare. Automation är nyckeln till att hjälpa ett öppet internationellt samhälle att växa så att grov beräkning kan vara tillgänglig för en bred publik. inklusive ingenjörer som inte har erfarenhet av felaktiga approximationer eller beräkningar. I detta avseende utvecklar OPRECOMP ett program för utveckling av transprecisionsprogramvara som gör det möjligt för utvecklare att enkelt programmera och experimentera med transprecisionsalgoritmer och små datoranordningar, som PULP. Färdplanen för att se denna teknik i vardagliga applikationer är fortfarande lång, men med OPRECOMP har vi tagit ett stort steg framåt ”.- Cristiano Maolssi, projektkoordinator.

I slutet av detta projekt har nya algoritmer baserade på ungefärlig beräkning genererats, nya lågenergiplattformar för att köra den arbetsbelastningen, bibliotek i programvarumiljöer för att möjliggöra användning av denna typ av beräkning, samt bibliotekets emuleringsverktyg som accelererar utvecklingsprototyp. All tillverkad programvara har tillverkats öppen källkod och resultat som FloatX programmeringsbibliotek för dator med låg precision har redan gjort rubriker. Dessutom har IBM redan prototyperat ett traditionellt HPC-system tillsammans med transcision-datoracceleration.

I slutändan är målet att minska konsumtionen av processorer av alla slag genom att göra att de inte behöver beräkna så exakt, och att det med ungefärliga beräkningar som är mer än tillräckligt är möjligt att förbättra effektiviteten oerhört.