Optimizing tensor contractions for embedded devices with racetrack memory scratch-pads

Research output: Contribution to book/Conference proceedings/Anthology/ReportConference contributionContributedpeer-review

Abstract

Tensor contraction is a fundamental operation in many algorithms with a plethora of applications ranging from quantum chemistry over fluid dynamics and image processing to machine learning. The performance of tensor computations critically depends on the efficient utilization of on-chip memories. In the context of low-power embedded devices, efficient management of the memory space becomes even more crucial, in order to meet energy constraints. This work aims at investigating strategies for performance- and energy-efficient tensor contractions on embedded systems, using racetrack memory (RTM)-based scratch-pad memory (SPM). Compiler optimizations such as the loop access order and data layout transformations paired with architectural optimizations such as prefetching and preshifting are employed to reduce the shifting overhead in RTMs. Experimental results demonstrate that the proposed optimizations improve the SPM performance and energy consumption by 24% and 74% respectively compared to an iso-capacity SRAM.

Details

Original languageEnglish
Title of host publicationLCTES 2019: Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems
PublisherAssociation for Computing Machinery (ACM), New York
Pages5-18
Number of pages14
ISBN (electronic)978-1-4503-6693-9
Publication statusPublished - 23 Jun 2019
Peer-reviewedYes

Publication series

SeriesCPSWeek: Cyber-physical Systems (SIGPLAN/SIGBED)

Conference

Title20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES 2019, co-located with PLDI 2019
Duration23 June 2019
CityPhoenix
CountryUnited States of America

External IDs

ORCID /0000-0002-5007-445X/work/141545623

Keywords

Research priority areas of TU Dresden

Sustainable Development Goals

ASJC Scopus subject areas

Keywords

  • Compiler optimization, Data transformation, Embedded systems, Matrix multiplication, Prefetching, Preshifting, Racetrack memory, Tensor contraction, Tensors