Auto-tuning of Numerical Programs by Block Multi-color Ordering Code Generation and Job-Level Parallel Execution

Auto-tuning of Numerical Programs by Block Multi-color Ordering Code Generation and Job-Level Parallel Execution
复制标题

通过块多色排序代码生成和作业级并行执行自动调整数值程序

DOI:
10.1007/978-3-642-38718-0_37
复制
发表时间:
2012
期刊:
International Conference on High Performance Computing for Computational Science
影响因子:
--
通讯作者:
M. Sato
M. Sato
中科院分区:
--
文献类型:
--
作者:
Tatsuya Abe;M. Sato

文献摘要

被引文献

相似文献

多色排序是一种并行排序,允许程序通过应用程序并行化为程序的顺序执行部分。虽然多色排序使具有数据依赖性的顺序执行的部分并行化并且增加并行执行的部分的数量,但是通过多色排序的改进的性能对在其上执行程序的架构和系统的差异敏感。这种灵敏度要求我们调整颜色的数量;即,为每个体系结构和系统修改程序。在这项工作中,我们开发了一个基于多色排序的代码生成器,并使用作业级并行脚本语言Xcrypt自动调整颜色的数量。此外,我们支持块多色排序,避免了原来的多色排序的步幅访问的缺点,并评估和澄清块多色排序的有效性。
Multi-color ordering is a parallel ordering that allows programs to be parallelized by application to sequentially executed parts of the programs. While multi-color ordering parallelizes sequentially executed parts with data dependences and increases the number of parts executed in parallel, improved performance by multi-color ordering is sensitive to differences in the architectures and systems on which the programs are executed. This sensitivity requires us to tune the numbers of colors; i.e., modify programs for each architecture and system. In this work, we develop a code generator based on multi-color ordering and automatically tune the number of colors using a job-level parallel scripting language Xcrypt. Furthermore, we support block multi-color ordering that avoids the disadvantage of stride accesses in the original multi-color ordering, and evaluate and clarify the effectiveness of block multi-color ordering.