# EPSRC Proposal
## Reasoning and Formalising Large-Scale Cross-Platform Machine Learning
### Introduction
* Machine learning is popular
* Large-scale machine learning requires cross-platform
* Inference is still single-platform
* People try to fit software into a fixed hardware architecture (?)
### Background
* Hardware Platform for Inference
* Paul Chow's Alveo Cluster
* EVEREST
* RIKEN
* Machine Learning Compiler
* FPGAConvNet from ONNX
* HeteroCL from TensorFlow
* CIRCT from PyTorch
* Cross-Platform Compiler
* Paul Chow's tool flow
* ...
### Research Objectives/Challenges
We aim to answer the following questions from this project:
* How to define both software program and hardware architecture in the same software model?
* How to model multiple platform instances in a unified system?
* Efforts made for formalisations of individual instances
* But these formalisations cannot be directly adapted into a unified system
* => Build a unified abstraction for cross-platform computing
* How to formalise the problem of mapping ML models onto the system?
* Hardware mapping has been formalised dedicated for single instances locally
* No global performance model for across platform
* => Build reasoning enginee for the hardware efficiency from the abstraction
* How to reason the hardware efficiency based on the formulation?
* Can we evaluate the hardware efficiency using the limits given by our model?
* Can we identify the system bottleneck and optimise the solution with the help of our model?
* => Demonstrate a few ML applications adapted by the model
### National Importantce
* Providing theoretical limits for industrial engineers and guiding them to improve their implementation by automated reasoning
### Contribution to Knowledge
* Help us to understand the theoretical limits of cross-platform ML and guides designers/tools to optimise the hardware efficiency.
### Possible Collaboration
* We will focus on the formalisation of abstraction and reasoning
* VAST group at UCLA will help on mapping a series of applications onto the hardware through the abstraction