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.


Figure 1: Draft of Neural Network Systolic Array accelerator
Figure 1: Draft of Neural Network Systolic Array accelerator


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.