Local Memory Mapping of Multicore Processors on an Automatic Parallelizing Compiler

Yoshitake OKI  Yuto ABE  Kazuki YAMAMOTO  Kohei YAMAMOTO  Tomoya SHIRAKAWA  Akimasa YOSHIDA  Keiji KIMURA  Hironori KASAHARA  

IEICE TRANSACTIONS on Electronics   Vol.E103-C   No.3   pp.98-109
Publication Date: 2020/03/01
Online ISSN: 1745-1353
DOI: 10.1587/transele.2019LHP0010
Type of Manuscript: Special Section PAPER (Special Section on Low-Power and High-Speed Chips)
parallelization compiler,  local memory management,  multicore processor,  global address space,  data decomposition,  

Full Text: PDF>>
Buy this Article

Utilization of local memory from real-time embedded systems to high performance systems with multi-core processors has become an important factor for satisfying hard deadline constraints. However, challenges lie in the area of efficiently managing the memory hierarchy, such as decomposing large data into small blocks to fit onto local memory and transferring blocks for reuse and replacement. To address this issue, this paper presents a compiler optimization method that automatically manage local memory of multi-core processors. The method selects and maps multi-dimensional data onto software specified memory blocks called Adjustable Blocks. These blocks are hierarchically divisible with varying sizes defined by the features of the input application. Moreover, the method introduces mapping structures called Template Arrays to maintain the indices of the decomposed multi-dimensional data. The proposed work is implemented on the OSCAR automatic parallelizing compiler and evaluations were performed on the Renesas RP2 8-core processor. Experimental results from NAS Parallel Benchmark, SPEC benchmark, and multimedia applications show the effectiveness of the method, obtaining maximum speed-ups of 20.44 with 8 cores utilizing local memory from single core sequential versions that use off-chip memory.