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