Dissecting GPU Memory Hierarchy Through Microbenchmarking | Synapse