#wrapper #simulator #ramulator

ramulator_wrapper

ramulator的包装器

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仿真

Download history 117/week @ 2024-07-06 6/week @ 2024-07-13

123 每月下载量
用于 gcn_agg

MIT 许可证

355KB
7.5K SLoC

C++ 7K SLoC // 0.1% comments Rust 255 SLoC // 0.0% comments Python 225 SLoC // 0.1% comments Forge Config 215 SLoC // 0.5% comments Lua 4 SLoC

ramulator的包装器

Rust

这是一个对C++ ramulator模拟器的绑定


lib.rs:

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