Optimizing for parallelism and data locality | Synapse