This repository provides an example of how to use DynamoRio to generate gather/scatter patterns that can be used either with a simulator or with the Spatter gather/scatter benchmark suite.
Please read through the following documentation pages:
- Building and testing this tool
- Validation of G/S for real-world codes
- Using this tool with PENNANT code sample
The figure here shows our current state-of-the-art (top) and our desired tool workflow (bottom). We typically generate large memory traces to try and replicate useful memory behaviors from applications. With our current workflow, we might use a tool like DynamoRio or Pin to generate memory traces and then feed those into a simulator. In our desired workflow, we would like to parse memory traces in an online fashion to generate representive sparse access patterns. These patterns can then be used as inputs to architectural simulators (via tools like SST's Miranda trace generator) or sparse access benchmark suites like our Spatter benchmark.
This tool attempts to provide the means to parse applications in a reasonable amount of time and then provide reusable patterns that can be used to investigate and validate performance for a specific computer architecture.
- MODSIM21 slides and poster detailing this work
- Spatter gather/scatter benchmark suite
This work is sponsored by NSF OAC-1710371 and a contract with Sandia National Laboratories.