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个样本即可找到最优参数配置。