Fast and Highly Optimizing Separate Compilation for Automatic Parallelization

Tohma Kawasumi, Ryota Tamura, Yuya Asada, Jixin Han, Hiroki Mikami, Keiji Kimura, Hironori Kasahara

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish
Title of host publication2019 International Conference on High Performance Computing and Simulation, HPCS 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages478-485
Number of pages8
ISBN (Electronic)9781728144849
DOIs
Publication statusPublished - 2019 Jul
Event2019 International Conference on High Performance Computing and Simulation, HPCS 2019 - Dublin, Ireland
Duration: 2019 Jul 152019 Jul 19

Publication series

Name2019 International Conference on High Performance Computing and Simulation, HPCS 2019

Conference

Conference2019 International Conference on High Performance Computing and Simulation, HPCS 2019
CountryIreland
CityDublin
Period19/7/1519/7/19

Keywords

  • link time optimization
  • parallelizing compiler
  • program analysis

ASJC Scopus subject areas

  • Computer Science Applications
  • Hardware and Architecture
  • Modelling and Simulation
  • Computer Networks and Communications

Fingerprint Dive into the research topics of 'Fast and Highly Optimizing Separate Compilation for Automatic Parallelization'. Together they form a unique fingerprint.

Cite this