Skip to content

v0.1.0

Choose a tag to compare

@chenshih1 chenshih1 released this 14 Aug 06:07
· 22 commits to master since this release

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 batched run
  • 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.