33 Commits

Author SHA1 Message Date
054403ae0d Also write the total cyc time 2025-09-12 13:27:08 +02:00
c2684b995b Make time_tsc refer to the entire runtime again
Also correct tsc errors by adding the cyc duration
2025-09-12 12:44:41 +02:00
737682ab16 Don't remove nyx tools if setting up the workdir failed 2025-09-12 12:16:30 +02:00
bad2725805 Change qemu compilation mode back to lto, oops 2025-09-12 11:55:28 +02:00
d7cf79a092 Add anyhow for better errors 2025-09-12 11:54:23 +02:00
9a08103872 Fix which benchmarks are compile
This prevents errors with redefinitions, the lzy way
2025-09-12 11:53:53 +02:00
f9b0bf0b5f Correct for errors in the current tsc by using cyc 2025-09-12 11:53:11 +02:00
2732383465 Adjust tsc calculation
Since we only want to record the time when benchmarking
2025-09-12 11:04:02 +02:00
9ba2bbe8cd Fix compilation of embench
The separation did not work before, somehow.
The new approach of redefining the function names, while hacky, definitely works though.
2025-09-12 10:54:24 +02:00
7666a650c2 Revert to lto linking for qemu 2025-09-10 16:15:58 +02:00
718a7fe078 Add nyx benchmark without pt 2025-09-10 16:14:30 +02:00
3e82b1610d Remove dbg! 2025-09-09 14:31:13 +02:00
f59947aea8 Increase benchmark duration for better results 2025-09-09 14:24:55 +02:00
2cc2264dde Add script to setup kvm 2025-09-08 16:35:11 +02:00
b44a0a5ef3 Execute each benchmark as individual program
- Client now produces one binary per benchmark
2025-09-08 16:35:04 +02:00
2d88a8539f Move install nyx functionality from build script to runtime
It did not make a lot of sense to have that in the buildscript, as that will make nyx_runner dependent on the target directory.
This also allows specifying a binary to trace at runtime
2025-09-07 14:36:02 +02:00
57ff2f187c Add embench
for now, compile all benchmarks (except one) and run serially
2025-09-06 17:12:01 +02:00
c2e432c219 Benchmark nyx and baseline 2025-09-05 15:00:47 +02:00
d14e0fe3a0 Calculate the bus frequency at runtime
The 100mHz value was guaranteed by intel for this CPU,
but this approach is more reliable
2025-09-04 18:32:58 +02:00
f072c0ce53 Use correct conversion for time values
Two errors I made:
* cycle durations are not constant, their value relies on the cbr
* tsc frequency was not exactly 2.7Ghz, now calculated at runtime
2025-09-04 18:11:20 +02:00
10ca8f89f6 Track total time using tsc packets and total internal time with cycles.
Something is still wrong though, the tsc time is somehow less than the cyc time
2025-09-04 16:31:17 +02:00
2e5af76dbb Track time in main and time disabled 2025-09-03 12:03:23 +02:00
109091c087 Simplify client, no need for hypercalls anymore 2025-09-03 11:47:56 +02:00
6afa71cc35 Use ptwrite to capture runtime more accurately 2025-08-20 14:15:46 +02:00
eddf9a5090 Add message about analyzing pt data 2025-08-19 12:32:29 +02:00
06534f8c57 Don't error out if the workdir does not exist 2025-08-14 12:49:45 +02:00
a0ba2dbb02 Compile QEMU-Nyx using lto for better performance 2025-08-12 16:42:03 +02:00
50a6339ee4 Fix build script deadlock in release mode 2025-08-12 15:51:51 +02:00
e2d9fadcc8 Analyze trace dump for time information 2025-08-12 15:40:52 +02:00
5e526b9b9d Create qemu_nyx logfile in debug mode 2025-08-06 15:59:08 +02:00
5f42449b80 Note that cross compilation is not supported 2025-08-04 12:47:10 +02:00
e46e0fbacc Automatically build the client
This makes it possible to just type `cargo run` and always get the up to date client
2025-07-31 15:45:58 +02:00
David Venhoff
c8b055f7d8 Initial commit 2025-07-31 13:31:42 +02:00