Adaptive Multi-versioning for OpenMP Parallelization Via Machine Learning

Xuan Chen,Shun Long
DOI: https://doi.org/10.1109/icpads.2009.77
2009-01-01
Abstract:The introduction of multi-core architectures generates a higher demand for parallelism in order to fully exploit the potential of modern computers. It is of vital importance that a compiler can allocate parallel workload in a cost-aware manner in order to achieve optimal performance on a multi-core architecture. This paper presents an adaptive OpenMP-based mechanism capable of generating a reasonable number of representative multi-threaded versions for a given loop, and selecting at runtime a suitable version to execute on a multi-core architecture. Preliminary experimental results show that, on average, it achieves 87% of the highest performance improvement across a whole spectrum of input sizes on two multi-core platforms.
What problem does this paper attempt to address?