The quadric SDK provides tools and libraries which enable the scheduling and profiling of neural networks, and the development of high performance C++ data parallel kernels on the quadric Edge Processing Unit (EPU).
The quadric SDK consists of four major components, which are packaged into a single tool. The components are the following:
quadric Scheduler: Enables inferencing and profiling of frozen neural network graph files. Exposed via Graph Mode (Neural Networks)
quadric C++ API: C++ APIs used to develop high performance data parallel kernels. Exposed via Source Mode (C++ Kernels)
quadric compiler: LLVM with a custom quadric EPU backend which compiles quadric C++ to quadric assembly.
quadric simulator: Instruction set simulator that emulates various EPU configurations and outputs detailed profiling information.
- DDR <-> OCM Data Fetching
- OCM <-> Array Data Fetching
- Neural Network Blocks
- Data Serialization