Automatic data layout for distributed-memory machines | Synapse