Machine-learning models are widely used for performance prediction due to its applications in the advancements of hardware-software co-development. Several researchers have focused on predicting the performance of an unknown target platform (or system) from the known performance of a particular platform (or system); we call this as the cross-platform prediction. Transfer learning is used to reuse previously gained knowledge on a similar task. In this paper, we use transfer learning for solving two problems cross-platform prediction and cross-systems prediction. Our result shows the prediction error of 15% in case of cross-systems (Simulated to Physical) prediction whereas in case of the cross-platform prediction error of 17% for simulation-based X86 to ARM prediction and 23% for physical Intel Core to Intel-Xeon system using best performing tree-based machine-learning model. We have also experimented with dimensionality reduction using PCA and selection of best hyper-parameters using grid search techniques.
Performance prediction is an active area of research due to its applicability in the advancements of hardware-software co-development. Several empirical machine-learning models, such as linear models, non-linear models, probabilistic models, tree-based models and, neural networks, are used for performance prediction. Furthermore, the prediction model's accuracy may vary depending on performance data gathered for different software types (compute-bound, memory-bound) and different hardware (simulation-based or physical systems). We have examined fourteen machine-learning models on simulation-based hardware and physical systems by executing several benchmark programs with different computation and data access patterns. Our results show that the tree-based machine-learning models outperform all other models with median absolute percentage error (MedAPE) of less than 5% followed by bagging and boosting models that help to improve weak learners. We have also observed that prediction accuracy is higher on simulation-based hardware due to its deterministic nature as compared to physical systems. Moreover, in physical systems, the prediction accuracy of memory-bound algorithms is higher as compared to compute-bound algorithms due to manufacturer variability in processors.