The Architecture Independent Workload Characterization (AIWC) tool  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.
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.
 Johnston, B. and Milthorpe, J. (2018) AIWC: OpenCL-Based Architecture-Independent Workload Characterization
 Johnston, B. and Milthorpe, J. (2018) Dwarfs on Accelerators: Enhancing OpenCL Benchmarking for Heterogeneous Computing Architectures
 Johnston, B., Falzon, G. and Milthorpe, J. (2018) OpenCL Performance Prediction using Architecture-Independent Features
 Cummins, C., Petoumenos, P., Wang, Z. and Leather, H. (2017) Synthesizing benchmarks for predictive modeling