PlaidML Architecture OverviewΒΆ
At a High Level PlaidML Consists of:
- A core that exposes a C and C++ API:
- A HAL API and a library of backends that implement it (OpenCL/LLVM/etc)
- A runtime which takes tile code, optimizes it based on parameters from the HAL, and a Platform that schedules operations and memory layout based on the type of Platform (Local / Remote)
- Python bindings built on top of the C API
- An operations library which is a generic library of tile code
- An API that can be called directly or used to develop other frontends
- Frontend adapters that utilize the op library and the API to implement support for that frontend
- ONNX
- Keras