As a partner of MEEP, the TUBITAK team is developing a neural network inference accelerator that would fit into Systolic Array Shell (SA Shell) designed as a part of the MEEP project.
Neural Network Systolic Array (NN-SA) accelerator takes 'input', 'bias', and 'weight' data as input and calculates the result of the neural network. Systolic array size, floating-point standard, and bandwidth can be easily configured for different use cases.
NN-SA accelerator in Figure 1 consists of:
- Input Logic: Controls the 'input', 'bias' and 'weight' data load.
- Mapping Logic: Takes the size of the neural network layer and generates the necessary control variables.
- Systolic Array Network: Consists of many custom Multiply-Accumulate (MAC) units that calculate the NN layer. The default size of the network is 16x16 and the default floating-point data standard is bfloat16.
- Output Logic: Takes the data from the systolic array and generates a valid flag after the operation is completed successfully.
Besides the aforementioned activities, TUBITAK collaborates with BSC and UNIZG-FER teams to develop an integrated MEEP processing architecture.