Ett exempel på stokastiska beräkningskretsar. SC-kretsar:(a) multiplikator, (b), skalad huggorm, (c) digital-till-stokastisk omvandlare, och (d) stokastisk-till-digitalomvandlare. Kredit:Lee et al.
Forskare vid University of Washington har nyligen utvecklat en ny teknik för att automatisera syntesen av stokastiska beräkningskretsar (SC). Deras metod, presenteras i en tidning förpublicerad på arXiv, är baserad på stokastisk syntes, som traditionellt är en programsyntesteknik.
Stokastisk beräkning (SC) är en framväxande och okonventionell beräkningsmetod som kodar data som probabilistiska bitströmmar, gör design av nya kretsar ointuitivt. SC skulle kunna uppnå högre beräkningstäthet och lägre strömförbrukning än traditionella binärkodade (BE) beräkningsmetoder.
"En av de viktigaste utmaningarna inom stokastisk dataforskning är att identifiera nya sätt att designa nya stokastiska kretsar, "Vincent Lee, en av forskarna som genomförde studien, berättade för TechXplore. "Mängden ingenjörsarbete och insikt som går till att designa en ny klass av stokastiska kretsar är ganska hög, så att hitta nytt, automatiserade sätt att minska designbördan har varit ett pågående forskningsmål för mig."
Befintliga metoder för att syntetisera SC-kretsar är vanligtvis begränsade till specifika typer eller klasser av funktioner, såsom polynomutvärdering eller konstant skalning. Lee och hans kollegor siktar på att identifiera en mer effektiv metod för att syntetisera SC-kretsar, som skulle kunna ha mer utbredda tillämpningar.
"Jag stötte på stokastisk syntes i vår programsyntesläsgrupp, medan du läser en artikel av Eric Schkufza et al., ", sa Lee. "Jag var ny på området för programsyntes och jag tyckte det var väldigt coolt hur det kunde lösa optimeringsuppgifter där lösningarna var ganska ointuitiva eller svåra för designers eller programmerare att få rätt. Trots vissa skalbarhetsbegränsningar, problemet jag hade, designa nya stokastiska kretsar, tenderade att ha små lösningar, så jag trodde att stokastisk syntes kunde vara en bra match."
Metoden som utvecklats av Lee och hans kollegor är en anpassning av den stokastiska kärnsyntesalgoritmen som stöder kretsar istället för program. Den allmänna tanken bakom det är att behandla alla kretsar som ett högdimensionellt utrymme där varje krets ges en specifik kostnad.
Denna kostnad definieras av en kostnadsfunktion, fånga hur effektiv en krets är i förhållande till andra kretsar i rummet. I deras studie, forskarna ställer in kostnadsfunktionen för att mäta fel, i förhållande till en specifikation som definierar vad de ville att kretsen skulle göra.
"Tekniken korsar sedan kretsarnas utrymme mot kretsar med bättre kostnad, liknande hur gradientnedstigning rör sig mot parameteruppsättningar som bättre optimerar målfunktionen, " Lee förklarade. "Detta ger en mer intelligent sökning över kretsarnas utrymme, syntetisera lovande kretsar snabbare än om du provade brute-force-uppräkning eller slumpmässigt uppräknade lösningar."
Forskarna utvärderade sin teknik och jämförde den med andra befintliga metoder för att syntetisera SC-kretsar. De fann att stokastisk syntes var mer allmän än nuvarande metoder, effektivt syntetisera både manuellt designade och nya SC-kretsar.
"Jag tror att de mest meningsfulla resultaten av vår studie är att tekniken kan syntetisera nya kretsar som skulle ha varit ointuitiva att designa för hand, "Sa Lee. "Att automatiskt kunna generera en stokastisk krets enbart baserat på en specifikation som beskriver dess funktionalitet är en ganska spännande utveckling inom stokastisk beräkning."
Resultaten som samlats in av Lee och hans kollegor tyder på att stokastisk syntes kan hjälpa till att automatisera uppgiften att syntetisera SC-kretsar. Detta skulle i slutändan befria SC-designers från en betydande designbörda, så att de kan fokusera på andra uppgifter.
"Även om tekniken inte ger en lösning av god kvalitet, den kan returnera en krets som implementerar en rimlig uppskattning, eller insikt i typer av kretsar som kan vara värda ytterligare utvärderingar, " sa Lee. "I detta arbete, vi hittade faktiskt ett antal intressanta kretsar som använde en mikroarkitektur som vi aldrig ens hade tänkt på tidigare, vilket också var ganska spännande."
En av de viktigaste utmaningarna som forskarna stötte på i sin studie är skalbarhet. Faktiskt, effektiviteten i deras tekniks sökning (dvs. kvaliteten på lösningen givet en fast söktidsbudget och den tid det tar för den att identifiera korrekta lösningar) är känslig för kostnadsfunktionen, eftersom det är detta som definierar gradienten och hur sökningen går över kretsutrymmet.
"Lyckligtvis, de mest önskvärda stokastiska kretsarna är relativt små, så skalbarhet är inte avgörande för teknikens praktiska funktion, " sa Lee. "Men, denna observerade begränsning ger många möjligheter att förbättra effektiviteten av tekniken med heuristik, så att den kan skalas till större kretsar. Jag tror att detta skulle vara ett intressant område att utforska i vårt framtida arbete."
© 2018 Tech Xplore