Conference
PULP-TrainLib: Enabling On-Device Training for RISC-V Multi-core MCUs Through Performance-Driven Autotuning
| Title: | PULP-TrainLib: Enabling On-Device Training for RISC-V Multi-core MCUs Through Performance-Driven Autotuning |
|---|---|
| Authors: | Nadalini D., Rusci M., Tagliavini G., Ravaglia L., Benini L., Conti F. |
| Contributors: | Nadalini D., Rusci M., Tagliavini G., Ravaglia L., Benini L., Conti F. |
| Publisher Information: | Springer |
| Publication Year: | 2022 |
| Collection: | IRIS Università degli Studi di Bologna (CRIS - Current Research Information System) |
| Subject Terms: | artificial intelligence, computer hardware, computer network, computer programming, computer science, computer system, distributed computer system, distributed system, embedded system, engineering, internet, machine learning, microprocessor chip, parallel processing system, processor, signal processing |
| Description: | An open challenge in making Internet-of-Things sensor nodes "smart'' and self-adaptive is to enable on-chip Deep Neural Network (DNN) training on Ultra-Low-Power (ULP) microcontroller units (MCUs). To this aim, we present a framework, based on PULP-TrainLib, to deploy DNN training tasks on RISC-V-based Parallel-ULP (PULP) MCUs. PULP-TrainLib is a library of parallel software DNN primitives enabling the execution of forward and backward steps on PULP MCUs. To optimize PULP-TrainLib's kernels, we propose a strategy to automatically select and configure (autotune) the fastest among a set of tiling options and optimized floating-point matrix multiplication kernels, according to the tensor shapes of every DNN layer. Results on an 8-core RISC-V MCU show that our auto-tuned primitives improve MAC/clk by up to 2.4x compared to "one-size-fits-all'' matrix multiplication, achieving up to 4.39 MAC/clk - 36.6x better than a commercial STM32L4 MCU executing the same DNN layer training workload. Furthermore, our strategy proves to be 30.7x faster than AIfES, a state-of-the-art training library for MCUs, while training a complete TinyML model. |
| Document Type: | conference object |
| File Description: | STAMPA |
| Language: | English |
| Relation: | info:eu-repo/semantics/altIdentifier/isbn/978-3-031-15073-9; info:eu-repo/semantics/altIdentifier/isbn/978-3-031-15074-6; info:eu-repo/semantics/altIdentifier/wos/WOS:000874744300013; ispartofbook:Embedded Computer Systems: Architectures, Modeling, and Simulation; 22nd International Conference, SAMOS 2022; volume:13511; firstpage:200; lastpage:216; numberofpages:17; info:eu-repo/grantAgreement/EC/H2020/826060, 863337; https://hdl.handle.net/11585/900686 |
| DOI: | 10.1007/978-3-031-15074-6_13 |
| Availability: | https://hdl.handle.net/11585/900686 https://doi.org/10.1007/978-3-031-15074-6_13 https://link.springer.com/chapter/10.1007/978-3-031-15074-6_13 |
| Rights: | info:eu-repo/semantics/openAccess |
| Accession Number: | edsbas.BF3FAEEB |
| Database: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://hdl.handle.net/11585/900686# Name: EDS - BASE (ns324271) Category: fullText Text: View record from BASE |
|---|---|
| Header | DbId: edsbas DbLabel: BASE An: edsbas.BF3FAEEB RelevancyScore: 935 AccessLevel: 3 PubType: Conference PubTypeId: conference PreciseRelevancyScore: 935.2763671875 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: PULP-TrainLib: Enabling On-Device Training for RISC-V Multi-core MCUs Through Performance-Driven Autotuning – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Nadalini+D%2E%22">Nadalini D.</searchLink><br /><searchLink fieldCode="AR" term="%22Rusci+M%2E%22">Rusci M.</searchLink><br /><searchLink fieldCode="AR" term="%22Tagliavini+G%2E%22">Tagliavini G.</searchLink><br /><searchLink fieldCode="AR" term="%22Ravaglia+L%2E%22">Ravaglia L.</searchLink><br /><searchLink fieldCode="AR" term="%22Benini+L%2E%22">Benini L.</searchLink><br /><searchLink fieldCode="AR" term="%22Conti+F%2E%22">Conti F.</searchLink> – Name: Author Label: Contributors Group: Au Data: Nadalini D.<br />Rusci M.<br />Tagliavini G.<br />Ravaglia L.<br />Benini L.<br />Conti F. – Name: Publisher Label: Publisher Information Group: PubInfo Data: Springer – Name: DatePubCY Label: Publication Year Group: Date Data: 2022 – Name: Subset Label: Collection Group: HoldingsInfo Data: IRIS Università degli Studi di Bologna (CRIS - Current Research Information System) – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22artificial+intelligence%22">artificial intelligence</searchLink><br /><searchLink fieldCode="DE" term="%22computer+hardware%22">computer hardware</searchLink><br /><searchLink fieldCode="DE" term="%22computer+network%22">computer network</searchLink><br /><searchLink fieldCode="DE" term="%22computer+programming%22">computer programming</searchLink><br /><searchLink fieldCode="DE" term="%22computer+science%22">computer science</searchLink><br /><searchLink fieldCode="DE" term="%22computer+system%22">computer system</searchLink><br /><searchLink fieldCode="DE" term="%22distributed+computer+system%22">distributed computer system</searchLink><br /><searchLink fieldCode="DE" term="%22distributed+system%22">distributed system</searchLink><br /><searchLink fieldCode="DE" term="%22embedded+system%22">embedded system</searchLink><br /><searchLink fieldCode="DE" term="%22engineering%22">engineering</searchLink><br /><searchLink fieldCode="DE" term="%22internet%22">internet</searchLink><br /><searchLink fieldCode="DE" term="%22machine+learning%22">machine learning</searchLink><br /><searchLink fieldCode="DE" term="%22microprocessor+chip%22">microprocessor chip</searchLink><br /><searchLink fieldCode="DE" term="%22parallel+processing+system%22">parallel processing system</searchLink><br /><searchLink fieldCode="DE" term="%22processor%22">processor</searchLink><br /><searchLink fieldCode="DE" term="%22signal+processing%22">signal processing</searchLink> – Name: Abstract Label: Description Group: Ab Data: An open challenge in making Internet-of-Things sensor nodes "smart'' and self-adaptive is to enable on-chip Deep Neural Network (DNN) training on Ultra-Low-Power (ULP) microcontroller units (MCUs). To this aim, we present a framework, based on PULP-TrainLib, to deploy DNN training tasks on RISC-V-based Parallel-ULP (PULP) MCUs. PULP-TrainLib is a library of parallel software DNN primitives enabling the execution of forward and backward steps on PULP MCUs. To optimize PULP-TrainLib's kernels, we propose a strategy to automatically select and configure (autotune) the fastest among a set of tiling options and optimized floating-point matrix multiplication kernels, according to the tensor shapes of every DNN layer. Results on an 8-core RISC-V MCU show that our auto-tuned primitives improve MAC/clk by up to 2.4x compared to "one-size-fits-all'' matrix multiplication, achieving up to 4.39 MAC/clk - 36.6x better than a commercial STM32L4 MCU executing the same DNN layer training workload. Furthermore, our strategy proves to be 30.7x faster than AIfES, a state-of-the-art training library for MCUs, while training a complete TinyML model. – Name: TypeDocument Label: Document Type Group: TypDoc Data: conference object – Name: Format Label: File Description Group: SrcInfo Data: STAMPA – Name: Language Label: Language Group: Lang Data: English – Name: NoteTitleSource Label: Relation Group: SrcInfo Data: info:eu-repo/semantics/altIdentifier/isbn/978-3-031-15073-9; info:eu-repo/semantics/altIdentifier/isbn/978-3-031-15074-6; info:eu-repo/semantics/altIdentifier/wos/WOS:000874744300013; ispartofbook:Embedded Computer Systems: Architectures, Modeling, and Simulation; 22nd International Conference, SAMOS 2022; volume:13511; firstpage:200; lastpage:216; numberofpages:17; info:eu-repo/grantAgreement/EC/H2020/826060, 863337; https://hdl.handle.net/11585/900686 – Name: DOI Label: DOI Group: ID Data: 10.1007/978-3-031-15074-6_13 – Name: URL Label: Availability Group: URL Data: https://hdl.handle.net/11585/900686<br />https://doi.org/10.1007/978-3-031-15074-6_13<br />https://link.springer.com/chapter/10.1007/978-3-031-15074-6_13 – Name: Copyright Label: Rights Group: Cpyrght Data: info:eu-repo/semantics/openAccess – Name: AN Label: Accession Number Group: ID Data: edsbas.BF3FAEEB |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.BF3FAEEB |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1007/978-3-031-15074-6_13 Languages: – Text: English Subjects: – SubjectFull: artificial intelligence Type: general – SubjectFull: computer hardware Type: general – SubjectFull: computer network Type: general – SubjectFull: computer programming Type: general – SubjectFull: computer science Type: general – SubjectFull: computer system Type: general – SubjectFull: distributed computer system Type: general – SubjectFull: distributed system Type: general – SubjectFull: embedded system Type: general – SubjectFull: engineering Type: general – SubjectFull: internet Type: general – SubjectFull: machine learning Type: general – SubjectFull: microprocessor chip Type: general – SubjectFull: parallel processing system Type: general – SubjectFull: processor Type: general – SubjectFull: signal processing Type: general Titles: – TitleFull: PULP-TrainLib: Enabling On-Device Training for RISC-V Multi-core MCUs Through Performance-Driven Autotuning Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Nadalini D. – PersonEntity: Name: NameFull: Rusci M. – PersonEntity: Name: NameFull: Tagliavini G. – PersonEntity: Name: NameFull: Ravaglia L. – PersonEntity: Name: NameFull: Benini L. – PersonEntity: Name: NameFull: Conti F. – PersonEntity: Name: NameFull: Nadalini D. – PersonEntity: Name: NameFull: Rusci M. – PersonEntity: Name: NameFull: Tagliavini G. – PersonEntity: Name: NameFull: Ravaglia L. – PersonEntity: Name: NameFull: Benini L. – PersonEntity: Name: NameFull: Conti F. IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2022 Identifiers: – Type: issn-locals Value: edsbas – Type: issn-locals Value: edsbas.oa |
| ResultId | 1 |