Affiliation:
1. Lancaster University, United Kingdom
2. Intel Barcelona Research Center, Spain
3. University of Edinburgh, United Kingdom
Abstract
Compiler-based auto-parallelization is a much-studied area but has yet to find widespread application. This is largely due to the poor identification and exploitation of application parallelism, resulting in disappointing performance far below that which a skilled expert programmer could achieve. We have identified two weaknesses in traditional parallelizing compilers and propose a novel, integrated approach resulting in significant performance improvements of the generated parallel code. Using profile-driven parallelism detection, we overcome the limitations of static analysis, enabling the identification of more application parallelism, and only rely on the user for final approval. We then replace the traditional target-specific and inflexible mapping heuristics with a machine-learning-based prediction mechanism, resulting in better mapping decisions while automating adaptation to different target architectures. We have evaluated our parallelization strategy on the NAS and SPEC CPU2000 benchmarks and two different multicore platforms (dual quad-core Intel Xeon SMP and dual-socket QS20 Cell blade). We demonstrate that our approach not only yields significant improvements when compared with state-of-the-art parallelizing compilers but also comes close to and sometimes exceeds the performance of manually parallelized codes. On average, our methodology achieves 96% of the performance of the hand-tuned OpenMP NAS and SPEC parallel benchmarks on the Intel Xeon platform and gains a significant speedup for the IBM Cell platform, demonstrating the potential of profile-guided and machine-learning- based parallelization for complex multicore platforms.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference66 articles.
1. NAS Parallel Benchmarks 2.3 OpenMP C version. (2004). http://www.hpcs.cs.tsukuba.ac.jp/omni-compiler/download/download-benchmarks.html. NAS Parallel Benchmarks 2.3 OpenMP C version. (2004). http://www.hpcs.cs.tsukuba.ac.jp/omni-compiler/download/download-benchmarks.html.
2. A view of the parallel computing landscape
3. The NAS parallel benchmarks---summary and preliminary results
Cited by
38 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Survey on Automatic Source Code Transformation for Green Software Generation;Encyclopedia of Sustainable Technologies;2024
2. Investigating the superiority of Intel oneAPI IFX compiler on Intel CPUs using different optimization levels: A case study on a CFD system;2023 4th IEEE Global Conference for Advancement in Technology (GCAT);2023-10-06
3. A Hybrid Machine Learning Model for Code Optimization;International Journal of Parallel Programming;2023-09-22
4. Performance Optimization using Multimodal Modeling and Heterogeneous GNN;Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing;2023-08-07
5. Program State Element Characterization;Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization;2023-02-17