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