ganler / ResearchReading

General system research material (not limited to paper) reading notes.
GNU General Public License v3.0
20 stars 1 forks source link

PACT'14 | OpenTuner: An Extensible Framework for Program Autotuning #64

Closed ganler closed 3 years ago

ganler commented 3 years ago

http://groups.csail.mit.edu/commit/papers/2014/ansel-pact14-opentuner.pdf https://opentuner.org/slides/opentuner-cgo2015-ansel-opentuner-intro.pdf

ganler commented 3 years ago

Paper Summary

OpenTuner to created to tackle the following challenges: (1) programmability: prior autotuning techniques are mostly coupled with the domain-specific applications, thus being made non-general. On the other hand, autotuning methods have to go specific to extract the best possible performance. To satisfy both needs, programmability is important to allow users to configure auto-tuning for different applications under a unified framework; To solve this challenge, OpenTuner allows extensible customization by inheriting built-in classes with many useful utilities; (2) configuration representation: representation matters in terms of learning efficacy in auto-tuning. To allow flexible and practical representations in auto-tuning, OpenTuner defines a series of parameter types including primitive ones (e.g., integer, float) and complex ones (e.g., Boolean, Enum, etc.). It allows users to easily create structured search space and even allow users to provide user-defined ones; (3) configuration space: OpenTuner argues that pruning configuration space would result in missing out on non-intuitive good configurations. In this way, the configuration is very large so simple and traditional techniques are hardly capable of efficient search optimal configurations. Therefore, instead of simplifying the search space, OpenTuner made more effort to improve the efficiency of search strategies; (4) search strategies: in addition to extensible configuration types, extensibility for search algorithms are also modelled. OpenTuner has adopted many de facto searching algorithms to explore the search space. To take the union of their benefits, OpenTuner leverages the AUC Bandit algorithm to select the next tuning algorithm for configuration searching. The intuition of the algorithm is to balance exploration and exploitation.

Strength

Weakness

The paper seems perfect to me. I hardly see any major weakness. Maybe they don't have to explain too much on gcc flags and leave it in the appendix.