Automatic memory partitioning and scheduling for throughput and power optimization | Synapse