Using Synthetic Benchmarks to Improve OpenCL Performance Prediction
People
Supervisor
Description
The Architecture Independent Workload Characterization (AIWC) tool [1] characterizes OpenCL kernels according to a set of architecture-independent features -- which count target characteristics and are collected during program execution in a simulator. The associated metrics are broadly divided into four classes:
- parallelism: such as number of work items and load imbalance;
- compute: such as the diversity of instructions;
- memory: such as working memory footprint and entropy measurements which affect cache utilization; and
- control: such as branch entropy.
Goals
This project aims to improve the existing predictive model using AIWC features and execution time measurements from synthetic kernels generated using CLgen. The emphasis of this work is on identifying poor predictions from the model when using synthesized kernels. These outliers in the feature-space will then be included in the training set, thus improving the predictive model. Alternative machine-learning techniques may also be used to improve performance prediction on available data.
Requirements
Background Literature
[1] Johnston, B. and Milthorpe, J. (2018) AIWC: OpenCL-Based Architecture-Independent Workload Characterization
[2] Johnston, B. and Milthorpe, J. (2018) Dwarfs on Accelerators: Enhancing OpenCL Benchmarking for Heterogeneous Computing Architectures
[3] Johnston, B., Falzon, G. and Milthorpe, J. (2018) OpenCL Performance Prediction using Architecture-Independent Features
[4] Cummins, C., Petoumenos, P., Wang, Z. and Leather, H. (2017) Synthesizing benchmarks for predictive modeling