Show simple item record

dc.contributor.advisorGregg, Daviden
dc.contributor.authorKeane, Cormac Daviden
dc.date.accessioned2022-03-21T07:48:32Z
dc.date.available2022-03-21T07:48:32Z
dc.date.issued2022en
dc.date.submitted2022en
dc.identifier.citationKeane, Cormac David, Automatic program generation for convolutional neural networks on resource constrained devices, Trinity College Dublin.School of Computer Science & Statistics, 2022en
dc.identifier.otherYen
dc.descriptionAPPROVEDen
dc.description.abstractConvolutional Neural Networks (CNNs) are both arithmetically and memory intensive when performing inference. This is a problem when executing CNNs on resource constrained machines, such as small embedded devices. This thesis proposes domain-specific program generators (DSPG), and automatic program optimizers (APO) to improve the resource usage (execution time, memory usage, energy usage) of CNN convolution on ARM devices. We extend previous work on a DSPG and APO for direct CNN convolution to create Genvolution. Genvolution can automatically generate optimized implementations for CNN convolution on Intel and ARM NEON devices. Genvolution implementations outperforms vendor library im2col implementations for 33% of tested CNN convolutions. Genvolution was also used to investigate the use of Flyte, a reduced precision floating-point storage datatype, on CNN convolution on ARM devices. We demonstrate that generated code using the Flyte datatype improves energy usage while maintaining execution speed for 60% of tested CNN convolutions. We also propose Winogen, a second DSPG and APO created to produce Winograd CNN convolution implementations. Winogen implementations outperform vendor library Winograd implementations for 90% of tested CNN convolutions. Winogen is also used to investigate a novel Winograd CNN convolution algorithm. Our proposed algorithm reduces the memory overhead of standard Winograd CNN convolution, while still leveraging the problem complexity reduction Winograd convolution allows. We found our new algorithm outperforms standard Winograd convolution for 33% of tested CNN convolutions. We demonstrate that automatic program generation can be used to improve the resource usage of CNNs on ARM devices. All CNN resource reduction is significant when embedded devices will run the same CNN countless times over their lifespan.en
dc.publisherTrinity College Dublin. School of Computer Science & Statistics. Discipline of Computer Scienceen
dc.rightsYen
dc.subjectCNNen
dc.subjectconvolutional neural networksen
dc.subjectAutomatic program generationen
dc.subjectresource constrained devicesen
dc.subjectWinograden
dc.subjectFlyteen
dc.titleAutomatic program generation for convolutional neural networks on resource constrained devicesen
dc.typeThesisen
dc.type.supercollectionthesis_dissertationsen
dc.type.supercollectionrefereed_publicationsen
dc.type.qualificationlevelMasters (Research)en
dc.identifier.peoplefinderurlhttps://tcdlocalportal.tcd.ie/pls/EnterApex/f?p=800:71:0::::P71_USERNAME:CKEANE4en
dc.identifier.rssinternalid238445en
dc.rights.ecaccessrightsopenAccess
dc.contributor.sponsorScience Foundation Ireland, project 12/IA/1381en
dc.identifier.urihttp://hdl.handle.net/2262/98307


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record