v0.1.0
Initial release: Python bindings for the Ramulator DRAM simulator.
Highlights
- Ramulator used unmodified — pinned git submodule, public API only (same calls as gem5's Gem5Wrapper)
- Event-driven API: non-blocking send with backpressure, completion callbacks (RequestInfo with latency/core_id),
flush()write barrier,run_until_idle() - Batch APIs for throughput (~150K req/s with callbacks):
send_reads,send_writes,send_reads_range, C++-side batchedrun - Programmable statistics:
get_stats()/reset_stats()exposing all 170+ Ramulator counters + derived metrics (avg_read_latency,row_hit_rate,measured_bandwidth) - Helpers:
addresses(), one-call benchmarks, capacity estimation,Config.from_file
Install
git clone --recurse-submodules https://github.com/chenshih1/pyramulator.git
pip install .See README and CHANGELOG for details.