Fast and Highly Optimizing Separate Compilation for Automatic Parallelization
Autor: | Ryota Tamura, Hiroki Mikami, Jixin Han, Yuya Asada, Hironori Kasahara, Tohma Kawasumi, Keiji Kimura |
---|---|
Rok vydání: | 2019 |
Předmět: |
Multi-core processor
Source code Memory hierarchy Computer science media_common.quotation_subject Parallel computing computer.software_genre Automatic parallelization Program analysis Single Compilation Unit Compiler Hardware_CONTROLSTRUCTURESANDMICROPROGRAMMING Software_PROGRAMMINGLANGUAGES computer Compile time media_common |
Zdroj: | HPCS |
DOI: | 10.1109/hpcs48598.2019.9188148 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |