Home > Research > Publications & Outputs > Integrating profile-driven parallelism detectio...
View graph of relations

Integrating profile-driven parallelism detection and machine-learning based mapping

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Integrating profile-driven parallelism detection and machine-learning based mapping. / Wang, Zheng; Tournavitis, Georgios ; Franke, Bjorn et al.
In: ACM Transactions on Architecture and Code Optimization, Vol. 11, No. 1, 2, 2014.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Wang, Z, Tournavitis, G, Franke, B & O'Boyle, M 2014, 'Integrating profile-driven parallelism detection and machine-learning based mapping', ACM Transactions on Architecture and Code Optimization, vol. 11, no. 1, 2. https://doi.org/10.1145/2579561

APA

Wang, Z., Tournavitis, G., Franke, B., & O'Boyle, M. (2014). Integrating profile-driven parallelism detection and machine-learning based mapping. ACM Transactions on Architecture and Code Optimization, 11(1), Article 2. https://doi.org/10.1145/2579561

Vancouver

Wang Z, Tournavitis G, Franke B, O'Boyle M. Integrating profile-driven parallelism detection and machine-learning based mapping. ACM Transactions on Architecture and Code Optimization. 2014;11(1):2. doi: 10.1145/2579561

Author

Wang, Zheng ; Tournavitis, Georgios ; Franke, Bjorn et al. / Integrating profile-driven parallelism detection and machine-learning based mapping. In: ACM Transactions on Architecture and Code Optimization. 2014 ; Vol. 11, No. 1.

Bibtex

@article{6b269dfd619a4e0ea1bee33a073f72b9,
title = "Integrating profile-driven parallelism detection and machine-learning based mapping",
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.",
author = "Zheng Wang and Georgios Tournavitis and Bjorn Franke and Michael O'Boyle",
year = "2014",
doi = "10.1145/2579561",
language = "English",
volume = "11",
journal = "ACM Transactions on Architecture and Code Optimization",
issn = "1544-3973",
publisher = "Association for Computing Machinery (ACM)",
number = "1",

}

RIS

TY - JOUR

T1 - Integrating profile-driven parallelism detection and machine-learning based mapping

AU - Wang, Zheng

AU - Tournavitis, Georgios

AU - Franke, Bjorn

AU - O'Boyle, Michael

PY - 2014

Y1 - 2014

N2 - 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.

AB - 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.

U2 - 10.1145/2579561

DO - 10.1145/2579561

M3 - Journal article

VL - 11

JO - ACM Transactions on Architecture and Code Optimization

JF - ACM Transactions on Architecture and Code Optimization

SN - 1544-3973

IS - 1

M1 - 2

ER -