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