Title
Fast and Highly Optimizing Separate Compilation for Automatic Parallelization
Abstract
Automatic parallelization by a compiler is a promising approach for fully utilizing a multicore processor. Without compiler support, a programmer must simultaneously take into account parallelism in a program and memory hierarchy utilization. However, the possibility of parallelization and optimization across multiple compilation units is limited due to the lack of interprocedural analysis information at the compile time. This is a serious challenge surrounding parallelizing practical programs because they usually consist of multiple compilation units and employ separate compilation to ensure program maintainability and reduce the recompilation time. In this paper, for automatic parallelization by a compiler, we propose a separate compilation method that enables parallelization across multiple compilation units and minimizes recompilation time by providing information about the analysis along with an object file for each compilation unit at the compile time. We also propose an automatically parallelizing compilation flow with analysis information. The experimental evaluation using large size real control system programs from industry shows the proposed technique can obtain 29% better performance than the separate compilation without the proposed method, and reduce compilation time by up to 90% with only 1% of performance loss, compared with the compilation for the fully unified source code into a single compilation unit.
Year
DOI
Venue
2019
10.1109/HPCS48598.2019.9188148
2019 International Conference on High Performance Computing & Simulation (HPCS)
Keywords
DocType
ISBN
parallelizing compiler,program analysis,link time optimization
Conference
978-1-7281-4485-6
Citations 
PageRank 
References 
0
0.34
0
Authors
7
Name
Order
Citations
PageRank
Tohma Kawasumi100.34
Ryota Tamura200.34
Yuya Asada300.34
Jixin Han400.68
Hiroki Mikami5285.48
Keiji Kimura612023.20
Hironori Kasahara728544.35