summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2025-04-02 10:20:43 +0200
committerDennis Kobert <dennis@kobert.dev>2025-04-02 10:20:43 +0200
commitc8c05d29419822aff3554af788e910ec69267406 (patch)
treef978c5f3720c1075c2cc9a12fc029e874e3a1c7c /src/main.rs
parent1c31c2d7068737af583d76ec0e7dc12125a5c34d (diff)
Implement energy model for e cores
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index bb53fc5..9f3528c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -15,7 +15,9 @@ mod socket;
mod bpf;
use anyhow::Result;
+use burn::tensor::Tensor;
use clap::{Arg, ArgAction, Command};
+use model::load_model;
use scheduler::Scheduler;
use std::mem::MaybeUninit;
@@ -48,6 +50,21 @@ fn main() -> Result<()> {
)
.get_matches();
+ let device = Default::default();
+ let model = load_model("perf.pt");
+ let tensor = Tensor::from_floats(
+ [
+ 800., 90678., 54734., 153646., 20354478., 40948418.,
+ 89103105.,
+ //5200., 148947., 322426., 498965., 62340773., 144451046., 41976480.,
+ ],
+ &device,
+ );
+ let result = model.forward(tensor);
+ let energy: f32 = result.into_scalar();
+ println!("energy: {energy}");
+ // panic!();
+
let power_cap = *matches.get_one::<u64>("power_cap").unwrap_or(&u64::MAX);
let use_mocking = matches.get_flag("mock");
let benchmark = matches.get_one::<String>("benchmark");