{"title":"AEStream: Accelerated event-based processing with coroutines","authors":"Jens Egholm Pedersen, J. Conradt","doi":"10.1145/3584954.3584997","DOIUrl":null,"url":null,"abstract":"Neuromorphic sensors imitate the sparse and event-based communication seen in biological sensory organs and brains. Today’s sensors can emit many millions of asynchronous events per second, which is challenging to process on conventional computers. To avoid bottleneck effects, there is a need to apply and improve concurrent and parallel processing of events. We present AEStream: a library to efficiently stream asynchronous events from inputs to outputs on conventional computers. AEStream leverages cooperative multitasking primitives known as coroutines to concurrently process individual events, which dramatically simplifies the integration with event-based peripherals, such as event-based cameras and (neuromorphic) asynchronous hardware. We explore the effects of coroutines in concurrent settings by benchmarking them against conventional threading mechanisms, and find that AEStream provides at least twice the throughput. We then apply AEStream in a real-time edge detection task on a GPU and demonstrate 1.3 times faster processing with 5 times fewer memory operations.","PeriodicalId":375527,"journal":{"name":"Proceedings of the 2023 Annual Neuro-Inspired Computational Elements Conference","volume":"73 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2023 Annual Neuro-Inspired Computational Elements Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3584954.3584997","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Neuromorphic sensors imitate the sparse and event-based communication seen in biological sensory organs and brains. Today’s sensors can emit many millions of asynchronous events per second, which is challenging to process on conventional computers. To avoid bottleneck effects, there is a need to apply and improve concurrent and parallel processing of events. We present AEStream: a library to efficiently stream asynchronous events from inputs to outputs on conventional computers. AEStream leverages cooperative multitasking primitives known as coroutines to concurrently process individual events, which dramatically simplifies the integration with event-based peripherals, such as event-based cameras and (neuromorphic) asynchronous hardware. We explore the effects of coroutines in concurrent settings by benchmarking them against conventional threading mechanisms, and find that AEStream provides at least twice the throughput. We then apply AEStream in a real-time edge detection task on a GPU and demonstrate 1.3 times faster processing with 5 times fewer memory operations.