With the rising complexity of numerous novel applications that serve our modern society comes the strong need to design efficient computing platforms. Designing efficient hardware is, however, a complex multi-objective problem that deals with multiple parameters and their interactions. Given that there are a large number of parameters and objectives involved in hardware design, synthesizing all possible combinations is not a feasible method to find the optimal solution. One promising approach to tackle this problem is statistical modeling of a desired hardware performance. Here, we propose a model-based active learning approach to solve this problem. Our proposed method uses Bayesian models to characterize various aspects of hardware performance. We also use transfer learning and Gaussian regression bootstrapping techniques in conjunction with active learning to create more accurate models. Our proposed statistical modeling method provides hardware models that are sufficiently accurate to perform design space exploration as well as performance prediction simultaneously. We use our proposed method to perform design space exploration and performance prediction for various hardware setups, such as micro-architecture design and OpenCL kernels for FPGA targets. Our experiments show that the number of samples required to create performance models significantly reduces while maintaining the predictive power of our proposed statistical models. For instance, in our performance prediction setting, the proposed method needs 65% fewer samples to create the model, and in the design space exploration setting, our proposed method can find the best parameter settings by exploring less than 50 samples.
翻译:随着众多服务现代社会的新型应用日益复杂,高效计算平台的设计需求愈发迫切。然而,高效硬件设计是一个处理多参数及其交互的复杂多目标问题。由于硬件设计中涉及大量参数和目标,穷举所有可能组合并非寻找最优解的可行方法。处理该问题的一个有前景的途径是对目标硬件性能进行统计建模。本文提出一种基于模型的主动学习方法来解决此问题。该方法利用贝叶斯模型刻画硬件性能的多个方面,同时结合迁移学习与高斯回归自助法提升模型精度。本文提出的统计建模方法能够生成足够精确的硬件模型,同步完成设计空间探索与性能预测。我们采用该方法对微架构设计及面向FPGA目标的OpenCL内核等多种硬件配置进行设计空间探索与性能预测。实验表明,在保持预测能力的前提下,该方法能显著减少构建性能模型所需的样本数量。例如,在性能预测场景中,本方法构建模型所需样本减少65%;在设计空间探索场景中,本方法通过探索不足50个样本即可找到最优参数配置。