OpenTuner: An extensible framework for program autotuning

OpenTuner: An extensible framework for program autotuning
复制标题

DOI:
10.1145/2628071.2628092
复制
发表时间:
2014-08
期刊:
2014 23rd International Conference on Parallel Architecture and Compilation (PACT)
影响因子:
--
通讯作者:
Jason Ansel;Shoaib Kamil;K. Veeramachaneni;Jonathan Ragan-Kelley;Jeffrey Bosboom;Una-May O’Reilly;
Jason Ansel;Shoaib Kamil;K. Veeramachaneni;Jonathan Ragan-Kelley;Jeffrey Bosboom;Una-May O’Reilly;
中科院分区:
其他
文献类型:
--
作者:
Jason Ansel;Shoaib Kamil;K. Veeramachaneni;Jonathan Ragan-Kelley;Jeffrey Bosboom;Una-May O’Reilly;

文献摘要

被引文献

相似文献

由于多种原因,已经证明了程序自动调整能够在许多域中实现更好的或更多的可移植性能空间可能很大,需要高级机器学习技术;搜索技术有效探索。使用界面与程序进行自动通信。简单地表现出良好的技术,我们将通过为7个不同的项目和16个总体基准构建Autotuners的效率和通用性。几乎没有程序员的努力。
Program autotuning has been shown to achieve better or more portable performance in a number of domains. However, autotuners themselves are rarely portable between projects, for a number of reasons: using a domain-informed search space representation is critical to achieving good results; search spaces can be intractably large and require advanced machine learning techniques; and the landscape of search spaces can vary greatly between different problems, sometimes requiring domain specific search techniques to explore efficiently. This paper introduces OpenTuner, a new open source framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully-customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the program to be autotuned. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously; techniques that perform well will dynamically be allocated a larger proportion of tests. We demonstrate the efficacy and generality of OpenTuner by building autotuners for 7 distinct projects and 16 total benchmarks, showing speedups over prior techniques of these projects of up to 2.8χ with little programmer effort.