From e11331908357a7758b92872ca8123a2908d23cfb Mon Sep 17 00:00:00 2001 From: Nguyen Quy Anh <23906-nguyenquy@users.noreply.gitlab.inf.ethz.ch> Date: Wed, 29 Apr 2026 20:14:56 +0200 Subject: [PATCH] print Q(n) and I(n) --- .gitignore | 10 +++++----- disable-frequency-scaling.sh | 3 +++ main.cpp | 15 +++++++++++++++ sizes.cpp | 18 ++++++++++++++++++ 4 files changed, 41 insertions(+), 5 deletions(-) create mode 100755 disable-frequency-scaling.sh create mode 100644 sizes.cpp diff --git a/.gitignore b/.gitignore index 9e81db2..91ea6d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ # Build artifacts *.o *.out +*.csv +*.mp4 +*.gif +*.log sim -main -positions.csv -test.mp4 -test_run_out.mp4 -main_test_visualisation +main* # Editor files .vscode/ diff --git a/disable-frequency-scaling.sh b/disable-frequency-scaling.sh new file mode 100755 index 0000000..f6a8743 --- /dev/null +++ b/disable-frequency-scaling.sh @@ -0,0 +1,3 @@ +#!/bin/bash +sudo cpupower frequency-set -u 2000000 +sudo cpupower frequency-set -d 2000000 diff --git a/main.cpp b/main.cpp index d36aa31..87a0d31 100644 --- a/main.cpp +++ b/main.cpp @@ -209,6 +209,21 @@ int main(int argc, const char *argv[]) { std::cout << P; std::cout << " flops/cycle\n"; + long long W_per_iter = (long long)(8 + 55 * n_p - 55 + 192 + 4 + 8 + 4 + 10) * n_p; + std::cout << "W(n) per iteration: "; + std::cout << W_per_iter; + std::cout << " flops\n"; + + long long Q = 104 * n_p + 32 * 4 + 80; + std::cout << "Q(n) per iteration: "; + std::cout << Q; + std::cout << " bytes\n"; + + long long I = (long long)(8 + 55 * n_p - 55 + 192 + 4 + 8 + 4 + 10) * n_p / Q; + std::cout << "I(n): "; + std::cout << I; + std::cout << " flops/byte\n"; + // now we wanna save the data to a csv if (dump_path) { std::ofstream out(dump_path); diff --git a/sizes.cpp b/sizes.cpp new file mode 100644 index 0000000..e497aac --- /dev/null +++ b/sizes.cpp @@ -0,0 +1,18 @@ +#include "pedestrian.hpp" +#include "board.hpp" +#include +#include + +int main() { + std::cout << sizeof(Color); + std::cout << "\n"; + std::cout << sizeof(Vector2d); + std::cout << "\n"; + std::cout << sizeof(Pedestrian); + std::cout << "\n"; + std::cout << sizeof(Obstacle); + std::cout << "\n"; + std::cout << sizeof(Board); + std::cout << "\n"; + return 0; +} \ No newline at end of file