13次发布
0.2.6 | 2022年8月31日 |
---|---|
0.2.5 | 2022年8月14日 |
0.2.0 | 2022年2月24日 |
0.1.2 | 2022年2月17日 |
0.0.3 | 2022年2月17日 |
174 在 仿真
123 每月下载量
用于 gcn_agg
355KB
7.5K SLoC
ramulator的包装器
这是一个对C++ ramulator模拟器的绑定
lib.rs
:
ramulator的包装器
- ramulator_wrapper 包是一个著名的 dram 模拟器 ramulator 的包装器。原始网址:https://github.com/CMU-SAFARI/ramulator
- 为了更好地使用 ramulator,我使用了另一个修改版的 ramulator:https://github.com/shenjiangqiu/ramulator
- 修改版的 ramulator 支持多线程,并修复了一些错误。
示例
use ramulator_wrapper::RamulatorWrapper;
use std::collections::HashSet;
let mut ramulator = RamulatorWrapper::new("HBM-config.cfg","test2.txt");
let mut cycle = 0;
let count = 10u64;
let mut all_req: HashSet<_> = (1..count).into_iter().map(|i| i * 64).collect();
for i in 1..count {
while !ramulator.available(i * 64, false) {
ramulator.cycle();
cycle += 1;
}
ramulator.send(i * 64, false);
ramulator.cycle();
}
for _i in 1..count {
while !ramulator.ret_available() {
ramulator.cycle();
cycle += 1;
}
let result = ramulator.pop();
ramulator.cycle();
//assert!(all_req.contains(&result));
println!("{}", result);
all_req.remove(&result);
}
for _i in 0..1000 {
ramulator.cycle();
}
assert_eq!(ramulator.ret_available(), false);
println!("cycle: {}", cycle);
依赖
~0.4–1.2MB
~27K SLoC