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