science >> Wetenschap >  >> Elektronica

Een nieuwe methode om de synthese van stochastische rekencircuits te automatiseren

Een voorbeeld van stochastische rekencircuits. SC-circuits:(a) vermenigvuldiger, (B), geschaalde opteller, (c) digitaal-naar-stochastische omzetter, en (d) stochastisch-naar-digitaal omzetter. Krediet:Lee et al.

Onderzoekers van de Universiteit van Washington hebben onlangs een nieuwe techniek ontwikkeld om de synthese van stochastische computercircuits (SC) te automatiseren. hun methode, gepresenteerd in een paper dat vooraf is gepubliceerd op arXiv, is gebaseerd op stochastische synthese, wat traditioneel een programmasynthesetechniek is.

Stochastisch computergebruik (SC) is een opkomende en onconventionele berekeningsmethode die gegevens codeert als probabilistische bitstromen, waardoor het ontwerpen van nieuwe circuits niet intuïtief is. SC zou een hogere rekendichtheid en een lager stroomverbruik kunnen bereiken dan traditionele binair gecodeerde (BE) berekeningsmethoden.

"Een van de belangrijkste uitdagingen in stochastisch computeronderzoek is het identificeren van nieuwe manieren om nieuwe stochastische circuits te ontwerpen, "Vincent Lee, een van de onderzoekers die het onderzoek heeft uitgevoerd, vertelde TechXplore. "De hoeveelheid technische inspanningen en inzichten die nodig zijn om een ​​nieuwe klasse van stochastische circuits te ontwerpen, is vrij hoog, dus nieuwe vinden, geautomatiseerde manieren om de ontwerplast te verminderen, is een doorlopend onderzoeksdoel van mij geweest."

Bestaande methoden voor het synthetiseren van SC-circuits zijn doorgaans beperkt tot specifieke typen of klassen van functies, zoals polynomiale evaluatie of constante schaling. Lee en zijn collega's gingen op zoek naar een effectievere methode om SC-circuits te synthetiseren, die meer wijdverbreide toepassingen zouden kunnen hebben.

"Ik kwam stochastische synthese tegen in onze leesgroep voor programmasynthese, tijdens het lezen van een paper van Eric Schkufza et al., "Zei Lee. "Ik was nieuw op het gebied van programmasynthese en ik vond het heel cool hoe het optimalisatietaken kon oplossen waarvan de oplossingen tamelijk onintuïtief waren of moeilijk voor ontwerpers of programmeurs om goed te krijgen. Ondanks enkele schaalbaarheidsbeperkingen, het probleem dat ik had, het ontwerpen van nieuwe stochastische circuits, hadden vaak kleine oplossingen, dus ik dacht dat stochastische synthese een goede match zou kunnen zijn."

De methode die door Lee en zijn collega's is bedacht, is een aanpassing van het kernalgoritme voor stochastische synthese dat circuits ondersteunt in plaats van programma's. Het algemene idee erachter is om alle circuits te behandelen als een hoogdimensionale ruimte waarin elk circuit een specifieke prijs krijgt.

Deze kosten worden gedefinieerd door een kostenfunctie, vastleggen hoe effectief een circuit is in relatie tot andere circuits in de ruimte. In hun studie hebben de onderzoekers hebben de kostenfunctie ingesteld om fouten te meten, met betrekking tot een specificatie die definieert wat ze wilden dat het circuit zou doen.

"De techniek doorloopt dan de ruimte van circuits naar circuits met betere kosten, vergelijkbaar met hoe gradiëntafdaling zich beweegt naar parametersets die de doelfunctie beter optimaliseren, Lee legde uit. "Dit zorgt voor een intelligentere zoektocht in de ruimte van circuits, het sneller synthetiseren van veelbelovende circuits dan wanneer je brute-force-opsomming of willekeurig opgesomde oplossingen zou proberen."

De onderzoekers evalueerden hun techniek en vergeleken deze met andere bestaande methoden voor het synthetiseren van SC-circuits. Ze vonden stochastische synthese algemener dan de huidige methoden, het effectief synthetiseren van zowel handmatig ontworpen als nieuwe SC-circuits.

"Ik denk dat de meest betekenisvolle resultaten van ons onderzoek zijn dat de techniek in staat is om nieuwe circuits te synthetiseren die niet intuïtief zouden zijn geweest om met de hand te ontwerpen, Lee zei. "In staat zijn om automatisch een stochastisch circuit te genereren uitsluitend gebaseerd op een specificatie die de functionaliteit beschrijft, is een behoorlijk opwindende ontwikkeling in stochastisch computergebruik."

De bevindingen verzameld door Lee en zijn collega's suggereren dat stochastische synthese zou kunnen helpen om de taak van het synthetiseren van SC-circuits te automatiseren. Dit zou SC-ontwerpers uiteindelijk van een aanzienlijke ontwerplast ontlasten, zodat ze zich op andere taken kunnen concentreren.

"Zelfs als de techniek geen oplossing van goede kwaliteit oplevert, het kan een circuit retourneren dat een redelijke benadering implementeert, of inzicht in soorten circuits die verdere evaluaties waard kunnen zijn, " zei Lee. "In dit werk, we hebben zelfs een aantal interessante circuits gevonden die een microarchitectuur gebruikten die we nog nooit eerder hadden overwogen, dat was ook best spannend."

Een van de belangrijkste uitdagingen waarmee de onderzoekers in hun onderzoek zijn geconfronteerd, is schaalbaarheid. In feite, de efficiëntie van het zoeken van hun techniek (d.w.z. de kwaliteit van de oplossing gegeven een vast zoektijdbudget en de tijd die nodig is om de juiste oplossingen te identificeren) is gevoelig voor de kostenfunctie, omdat dit de gradiënt definieert en hoe de zoekopdracht door de circuitruimte gaat.

"Gelukkig, meest wenselijke stochastische circuits zijn relatief klein, dus schaalbaarheid is niet cruciaal voor de bruikbaarheid van de techniek, " zei Lee. "Echter, deze waargenomen beperking laat veel mogelijkheden om de efficiëntie van de techniek te verbeteren met heuristieken, waardoor het kan worden geschaald naar grotere circuits. Ik denk dat dit een interessant gebied zou zijn om in ons toekomstige werk te onderzoeken."

© 2018 Tech Xplore