Autotuning of a Cut-Off for Task Parallel Programs
Autotuning of a Cut-Off for Task Parallel Programs
复制标题
自动调整任务并行程序的中断
DOI:
10.1109/mcsoc.2016.51
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
Kenjiro Taura
中科院分区:
文献类型:
--
作者:
Shintaro Iwasaki;Kenjiro Taura
A task parallel programming model is regarded as one of the promising parallel programming models with dynamic load balancing. Since this model supports hierarchical parallelism, it is suitable for parallel divide-and-conquer algorithms. Most naive divide-and-conquer task parallel programs, however, suffer from a high tasking overhead because they tend to create too fine-grained tasks. There are two key idea to enhance the performance of such a program: serializing a task in a cut-off condition which is a tradeoff between decrease of concurrency and parallelization overheads, and applying effective transformations for the task in the condition. Both are sensitive to algorithm features, rendering optimization solely with a compiler ineffective in some cases. To address this problem, we proposed an autotuning framework for divide-and-conquer task parallel programs. It automatically searches for the optimal combination of three basic transformation methods and switching conditions with less programmers' efforts. We implemented it as an optimization pass in LLVM. The evaluation shows the significant performance improvement (from 1.5x to 228x) over the original naive task parallel programs. Moreover, it demonstrates the absolute performance obtained by our autotuning framework was comparable to that of loop parallel programs.