  Deep neural networks (DNN) have become significant applications in both
cloud-server and edge devices. Meanwhile, the growing number of DNNs on those
platforms raises the need to execute multiple DNNs on the same device. This
paper proposes a dynamic partitioning algorithm to perform concurrent
processing of multiple DNNs on a systolic-array-based accelerator. Sharing an
accelerator's storage and processing resources across multiple DNNs increases
resource utilization and reduces computation time and energy consumption. To
this end, we propose a partitioned weight stationary dataflow with a minor
modification in the logic of the processing element. We evaluate the energy
consumption and computation time with both heavy and light workloads.
Simulation results show a 35% and 62% improvement in energy consumption and 56%
and 44% in computation time under heavy and light workloads, respectively,
compared with single tenancy.
