Exploiting Memory Access Patterns to Improve Memory Performance in Data-Parallel Architectures | Synapse