一句话:提出基于浮点变量社区结构的层次化精度调优方法,提升混合精度搜索效率与效果。
浮点表示复杂,混合精度虽能平衡精度与性能,但对数值专家也难以推理;已有自动搜索方法黑盒且因搜索空间大而可扩展性受限。本文利用浮点变量的社区结构,先通过依赖分析与边剖析构建带权依赖图,将变量网络表示为图;再把层次构建形式化为社区检测问题,并提出按社区迭代降低精度的层次搜索算法。作者在工具 HiFPTuner 中实现该算法。评估显示,在 75.9% 实验中搜索效率优于当前最优,平均少用 59.6% 搜索时间;在 51.7% 实验中找到更有利配置,其中一个已知达到穷举搜索的全局最优。
Floating-point types are notorious for their intricate representation. The effective use of mixed precision, i.e., using various precisions in different computations, is critical to achieve a good balance between accuracy and performance. Unfortunately, reasoning about mixed precision is difficult even for numerical experts. Techniques have been proposed to systematically search over floating-point variables and/or program instructions to find a faster, mixed-precision version of a given program. These techniques, however, are characterized by their black box nature, and face scalability limitations due to the large search space. In this paper, we exploit the community structure of floating-point variables to devise a scalable hierarchical search for precision tuning. Specifically, we perform dependence analysis and edge profiling to create a weighted dependence graph that presents a network of floating-point variables. We then formulate hierarchy construction on the network as a community detection problem, and present a hierarchical search algorithm that iteratively lowers precision with regard to communities. We implement our algorithm in the tool HiFPTuner, and show that it exhibits higher search efficiency over the state of the art for 75.9% of the experiments taking 59.6% less search time on average. Moreover, HiFPTuner finds more profitable configurations for 51.7% of the experiments, with one known to be as good as the global optimum found through exhaustive search.
DOI 原文 ·
@inproceedings{paperbot4824,
title = {Exploiting community structure for floating-point precision tuning},
author = {Hui Guo and Cindy Rubio-González},
booktitle = {ISSTA},
year = {2018},
doi = {10.1145/3213846.3213862}
}