Abstract

Nowadays, embedded systems are comprised of heterogeneous multi-core architectures, i.e., CPUs and GPUs. If the application is mapped to an appropriate processing core, then these architectures provide many performance benefits to applications. Typically, programmers map sequential applications to CPU and parallel applications to GPU. The task mapping becomes challenging because of the usage of evolving and complex CPU- and GPU-based architectures. This paper presents an approach to map the OpenCL application to heterogeneous multi-core architecture by determining the application suitability and processing capability. The classification is achieved by developing a machine learning-based device suitability classifier that predicts which processor has the highest computational compatibility to run OpenCL applications. In this paper, 20 distinct features are proposed that are extracted by using the developed LLVM-based static analyzer. In order to select the best subset of features, feature selection is performed by using both correlation analysis and the feature importance method. For the class imbalance problem, we use and compare synthetic minority over-sampling method with and without feature selection. Instead of hand-tuning the machine learning classifier, we use the tree-based pipeline optimization method to select the best classifier and its hyper-parameter. We then compare the optimized selected method with traditional algorithms, i.e., random forest, decision tree, Naïve Bayes and KNN. We apply our novel approach on extensively used OpenCL benchmarks, i.e., AMD and Polybench. The dataset contains 653 training and 277 testing applications. We test the classification results using four performance metrics, i.e., F-measure, precision, recall and R^2. The optimized and reduced feature subset model achieved a high F-measure of 0.91 and R^2 of 0.76. The proposed framework automatically distributes the workload based on the application requirement and processor compatibility.

Highlights

  • Today, most systems are equipped with multi-core processors

  • The classification is achieved by developing a machine learning-based device suitability classifier that predicts which processor has the highest computational compatibility to run Open compute language (OpenCL) applications

  • The multi-core central processing unit (CPU) and many-core graphical processing unit (GPU) trend has initiated a new paradigm for computation processing called heterogeneous computing

Read more

Summary

Introduction

Most systems are equipped with multi-core processors. Due to power consumption and transistor density constraints, the ever-increasing clock frequency trend is no longer possible (Stone et al 2019; Wen et al 2014). Multi-core architectures have been developed as a solution to problems like power consumption, heat dissipation and transistor density (Wen et al 2014). The multi-core CPUs and many-core GPUs trend has initiated a new paradigm for computation processing called heterogeneous computing. Heterogeneous system architecture (HSA) systems utilize multiple processor types (CPUs and GPUs). Due to immense data generation and huge processing power, the new application generating workloads with diverse requirements. Heterogeneous computing, is designed to help and enable the efficient use of diverse processors like the CPU and GPU to handle these new emerging workloads efficiently. Utilizing the diverse processors helps and enables new experiences while maximizing throughput and reducing turnaround time. With the help of heterogeneous computing, different processors can be designed to work together, enabling new user experiences

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call