prospero
Prospero is a trace-based core model. The core models memory instructions only. Multiple Prospero cores can be used in the same simulation, each running independent trace files, to model a multicore architecture. A Pintool for collecting traces from x86 binaries is included. Prospero interfaces with memory via the SST::StandardMem interface.
Source Code: sst-elements/.../prospero
SST Name: prospero
Maturity Level: Prototype (2)
Development Path: Active
Last Released: SST 15.1
Required dependencies: None
Optional dependencies: None
- Pin If available, the included Pintool can be used to generate a trace for simulation, otherwise a trace must be acquired separately.
- zlib Enables reading and/or generating a compressed execution trace
Trace Format
Text
Each line of a text trace represents a separate memory access. The format is cycles type address length where:
- cycles Minimum cycle count at which the request can be issued
- type
R(read) orW(write). Not case-sensitive. - address Memory address
- length Number of bytes to read or write
Binary
Each record in a binary trace consists of the same four fields as the text trace, except that they are represented as a byte array (char*). There is no separator between records and the size of each field is:
- cycles
uint64_t - type
char - address
uint64_t - length
uint32_t
Compressed
If zlib is available, use of compressed text or binary traces is supported.