Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors

While single-ISA heterogeneous multi-core processors are widely used in mobile computing, typical code generations optimize the code for a single target core, leaving it less suitable for the other cores in the processor. We present a microarchitecture-aware code generation methodology to mitigate t...

Full description

Bibliographic Details
Main Authors: Junmo Park, Yongin Kwon, Yongjun Park, Dongsuk Jeon
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8688418/
id doaj-cd1ca9451af54262b3f45f9f8ead9a90
record_format Article
spelling doaj-cd1ca9451af54262b3f45f9f8ead9a902021-03-29T22:33:10ZengIEEEIEEE Access2169-35362019-01-017523715237810.1109/ACCESS.2019.29105598688418Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile ProcessorsJunmo Park0Yongin Kwon1Yongjun Park2Dongsuk Jeon3https://orcid.org/0000-0002-0395-8076Graduate School of Convergence Science and Technology, Seoul National University, Seoul, South KoreaSystem LSI, Samsung Electronics Co., Ltd., Hwaseong, South KoreaDepartment of Computer Science, Hanyang University, Seoul, South KoreaGraduate School of Convergence Science and Technology, Seoul National University, Seoul, South KoreaWhile single-ISA heterogeneous multi-core processors are widely used in mobile computing, typical code generations optimize the code for a single target core, leaving it less suitable for the other cores in the processor. We present a microarchitecture-aware code generation methodology to mitigate this issue. We first suggest adopting Function-Multi-Versioning (FMV) to execute application codes utilizing a core at full capacity regardless of its microarchitecture. We also propose to add a simple but powerful backend optimization pass in the compiler to further boost the performance of applicable cores. Based on these schemes, we developed an automated flow that analyzes the program and generates multiple versions of hot functions tailored to different microarchitectures. At runtime, the running core chooses an optimal version to maximize computation performance. The measurements confirm that the methodology improves the performance of Cortex-A55 and Cortex-A75 cores in Samsung's next-generation Exynos 9820 processor by 11.2% and 17.9%, respectively, while running TensorFlow Lite.https://ieeexplore.ieee.org/document/8688418/Edge computingfunction multi-versioningsingle-ISA heterogeneous multi-core
collection DOAJ
language English
format Article
sources DOAJ
author Junmo Park
Yongin Kwon
Yongjun Park
Dongsuk Jeon
spellingShingle Junmo Park
Yongin Kwon
Yongjun Park
Dongsuk Jeon
Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
IEEE Access
Edge computing
function multi-versioning
single-ISA heterogeneous multi-core
author_facet Junmo Park
Yongin Kwon
Yongjun Park
Dongsuk Jeon
author_sort Junmo Park
title Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
title_short Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
title_full Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
title_fullStr Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
title_full_unstemmed Microarchitecture-Aware Code Generation for Deep Learning on Single-ISA Heterogeneous Multi-Core Mobile Processors
title_sort microarchitecture-aware code generation for deep learning on single-isa heterogeneous multi-core mobile processors
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2019-01-01
description While single-ISA heterogeneous multi-core processors are widely used in mobile computing, typical code generations optimize the code for a single target core, leaving it less suitable for the other cores in the processor. We present a microarchitecture-aware code generation methodology to mitigate this issue. We first suggest adopting Function-Multi-Versioning (FMV) to execute application codes utilizing a core at full capacity regardless of its microarchitecture. We also propose to add a simple but powerful backend optimization pass in the compiler to further boost the performance of applicable cores. Based on these schemes, we developed an automated flow that analyzes the program and generates multiple versions of hot functions tailored to different microarchitectures. At runtime, the running core chooses an optimal version to maximize computation performance. The measurements confirm that the methodology improves the performance of Cortex-A55 and Cortex-A75 cores in Samsung's next-generation Exynos 9820 processor by 11.2% and 17.9%, respectively, while running TensorFlow Lite.
topic Edge computing
function multi-versioning
single-ISA heterogeneous multi-core
url https://ieeexplore.ieee.org/document/8688418/
work_keys_str_mv AT junmopark microarchitectureawarecodegenerationfordeeplearningonsingleisaheterogeneousmulticoremobileprocessors
AT yonginkwon microarchitectureawarecodegenerationfordeeplearningonsingleisaheterogeneousmulticoremobileprocessors
AT yongjunpark microarchitectureawarecodegenerationfordeeplearningonsingleisaheterogeneousmulticoremobileprocessors
AT dongsukjeon microarchitectureawarecodegenerationfordeeplearningonsingleisaheterogeneousmulticoremobileprocessors
_version_ 1724191435532533760