Commit Graph

395 Commits

Author SHA1 Message Date
09f58610ec Port ovnidump using the trace and player modules
The -t option is now dropped as only the binary streams found in the
specified directory are dumped. A single binary stream can be also
dumped in the same way.

The relative path is prefixed, so we avoid the collision problem when
filtering TIDs from multiple nodes.
2023-03-24 12:08:45 +00:00
1ac276a220 Allow empty relpath in stream_load 2023-03-24 12:08:45 +00:00
8727126551 Use .obs extension for ovni binary streams 2023-03-24 12:08:45 +00:00
0746d2a0ec Add CPU oversubscription test 2023-03-24 12:08:45 +00:00
a818795d88 Add support for nOS-V
Most of the model is taken from nanos6, we should refactor them.
2023-03-24 12:08:45 +00:00
55a5be7d13 Document linter mode in ovniemu usage 2023-03-24 12:08:45 +00:00
99fe0c4311 Add support for paraver row files 2023-03-24 12:08:45 +00:00
f1b130eb39 Move paraver sources to pv/ 2023-03-24 12:08:45 +00:00
a91b1c554a Finish task types in PCF for nanos6 2023-03-24 12:08:45 +00:00
dbea90f525 Fail if the streams clock is too far apart
The current gate is set to 1 hour and it only checks the first event in
the stream. Added a test too.
2023-03-24 12:08:45 +00:00
c5aa784caa Reset ret after reading the last event 2023-03-24 12:08:45 +00:00
4a08add5ab Add missing memory category in switch 2023-03-24 12:08:45 +00:00
e674c92f13 Enable emu and rt tests for nanos6 and ovni 2023-03-24 12:08:45 +00:00
4e2164646c Add PCF information for nanos6 2023-03-24 12:08:45 +00:00
c94a786c1e Use EXT() macro instead of extend_get() 2023-03-24 12:08:45 +00:00
2a12af8e56 Rename pcf_file to pcf 2023-03-24 12:08:45 +00:00
553e51741a Use enum for tracking modes 2023-03-24 12:08:45 +00:00
e3880d178e Move flush channel to ovni model only 2023-03-24 12:08:45 +00:00
9041583207 Add support for multiple models 2023-03-24 12:08:45 +00:00
123178c340 Remove emu prefix from player 2023-03-24 12:08:45 +00:00
8ed9063488 Remove emu prefix from trace and stream 2023-03-24 12:08:45 +00:00
242ea71ee6 Remove old nanos6.c and ovni.c 2023-03-24 12:08:45 +00:00
2c43a6c155 Move ust model back to ovni 2023-03-24 12:08:45 +00:00
9202085267 Remove tampi and openmp outdated models 2023-03-24 12:08:45 +00:00
cc5582c493 Split nanos6 model into separate files 2023-03-24 12:08:45 +00:00
4a8255e227 Complete Nanos6 model 2023-03-24 12:08:45 +00:00
524ccc4dd5 Begin porting nanos6 model 2023-03-24 12:08:45 +00:00
070c0f5e24 Remove ust directory 2023-03-24 12:08:45 +00:00
04029995be Begin porting the ovni model 2023-03-24 12:08:45 +00:00
12bfd3fe26 Add loom and proc 2023-03-24 12:08:45 +00:00
f5db3a9814 Add cpu module and begin ovni model 2023-03-24 12:08:45 +00:00
5de74f15cb Add emulator player to read events 2023-03-24 12:08:45 +00:00
aad925ffca Update CMakeLists for emu 2023-03-24 12:08:45 +00:00
e1880e09f6 Read clock offsets in emu_system 2023-03-24 12:08:45 +00:00
183df35459 Use emu_args to parse input arguments 2023-03-24 12:08:45 +00:00
0687197f08 Initialize trace to zero 2023-03-24 12:08:45 +00:00
9a4af7e0ec Add offset setter in streams 2023-03-24 12:08:45 +00:00
d6f9ed7125 Split clkoff initialization 2023-03-24 12:08:45 +00:00
b4d5e33d6c Add emu_args parser 2023-03-24 12:08:45 +00:00
fe5f16bb7a Add clock offset parser 2023-03-24 12:08:45 +00:00
894e972a65 Link threads and streams 2023-03-24 12:08:45 +00:00
f4e8b0b8a8 Load CPUs in emu_system 2023-03-24 12:08:45 +00:00
fb06a3ec32 Add new emulator 2023-03-24 12:08:45 +00:00
bac907dba0 Remove old emulator code 2023-03-24 12:08:45 +00:00
382cd7a371 Add ARRAYLEN macro 2023-03-24 12:08:45 +00:00
a4f235dd97 Add .ovnistream suffix to streams 2023-03-24 12:08:45 +00:00
b3e6c21b7c Add unit tests for emu and emu_trace 2023-03-24 12:08:45 +00:00
aafc3471cc Add emu_system to parse the trace hierarchy 2023-03-24 12:08:45 +00:00
c6a5e3b34d Independize trace from the emulator 2023-03-24 12:08:45 +00:00
183634c8c4 Pass the bay in the prv_register() function 2023-03-24 12:08:45 +00:00
b3b1164fed Add PRV trace support for patchbay channels 2023-03-24 12:08:45 +00:00
d394bb88c3 Fail when the return value is not used 2023-03-24 12:08:45 +00:00
e240937e58 Add multiple callback types in the patchbay 2023-03-24 12:08:45 +00:00
9928758f91 Test bay_find speed compared with direct access 2023-03-24 12:08:45 +00:00
36d0a44b57 Add bay_remove() 2023-03-24 12:08:45 +00:00
97b96801d1 Ensure mux channels are registered in the bay 2023-03-24 12:08:45 +00:00
f40a0a8d12 Prevent propagation loops 2023-03-24 12:08:45 +00:00
227a2d91df Allow duplicates in the mux output channel 2023-03-24 12:08:45 +00:00
9cc563d0dd Add properties to channels and duplicate support 2023-03-24 12:08:45 +00:00
0944f84ac9 Allow dirty writes selectively 2023-03-24 12:08:45 +00:00
e1e0e9662d Pack the value structure to be hashable 2023-03-24 12:08:45 +00:00
1cea193ea3 Add support for patchbay and muxes 2023-03-24 12:08:45 +00:00
d34e0baa17 Ignore Nanos6 progress events 6P* 2023-03-20 20:45:21 +01:00
5a9f667553 Use snprintf() and check for buffer overflow 2022-12-19 15:24:34 +01:00
5a982d61c9 Build parson with PIC 2022-12-19 15:24:34 +01:00
ee462d92e8 Handle NULL version pointer 2022-12-16 13:34:31 +01:00
7c7ba729f5 Add unit test for the version parser 2022-12-16 13:34:31 +01:00
d3ce4a8765 Store the process directory in proc->dir 2022-12-16 13:33:03 +01:00
5404cc5e83 Split sources into src/emu and src/rt
The public includes are now in include/ and in internal includes in
src/include/. The ovni* tools are moved to emu/ovni*.c and liked with
the emu static library.
2022-12-16 13:31:31 +01:00
b6ce54b7ee Add version check and soname for libovni
Adds ovni_version_check() to test the version at runtime, set the
SONAME to the major version and install a symlinks to the complete
version:

  libovni.so -> libovni.so.1
  libovni.so.1 -> libovni.so.1.0.0
  libovni.so.1.0.0
2022-12-13 13:11:44 +01:00
df169c89c3 Use RPATH for the MPI library 2022-11-15 10:12:59 +01:00
b1b4f37032 Copy Paraver configs into the trace directory
Keeps the trace self-contained.
2022-11-09 16:09:33 +01:00
58286dbd1a Fix average computation in burst stats 2022-10-07 13:10:05 +02:00
22b34dcff6 Fix unsigned format 2022-10-07 12:46:33 +02:00
2497e71f81 Fix nback limit to detect full ring 2022-10-07 12:43:52 +02:00
75bc02bccd Fix sorting without previous events 2022-10-07 12:17:59 +02:00
b8e521b49c Print info when reaching the end of sort window 2022-10-07 11:22:29 +02:00
035791ff54 Increase ovnisort window to 100k events 2022-10-07 11:02:42 +02:00
37a636f387 Fix ovnisort check too 2022-10-07 11:02:03 +02:00
362c47553b Fix ovnisort handling of last event 2022-10-07 09:38:20 +02:00
29406ca629 Fix TID and PID suffix in PCF 2022-10-05 15:56:26 +02:00
c1b2cf600c Fix Nanos6 thread type suffix in the PCF 2022-10-05 14:52:24 +02:00
e9d977210b Fix main task colors too 2022-10-04 11:44:19 +02:00
22233c6431 Copy events when updating CPU tracking channels 2022-10-03 10:56:09 +02:00
68a3daffe2 Add chan_copy 2022-10-03 10:55:58 +02:00
3f3c3c8f34 Reduce progress verbosity 2022-09-30 12:09:38 +02:00
a9c3d016ed Show median in burst stats 2022-09-30 12:09:19 +02:00
404182c5fa Improve emulation progress info
Now the progress shows 100% when the emulation ends.
2022-09-30 11:49:05 +02:00
99793dba10 Set continuation indent to 2 tabs 2022-09-30 10:25:09 +02:00
994f5f2098 Fix burst message 2022-09-29 18:43:23 +02:00
da1af8c133 Declare and set variables close to usage 2022-09-29 18:35:41 +02:00
73aa7887ae Avoid clang-format in pcf tables 2022-09-29 18:34:57 +02:00
8370c33194 Remove ovni2prv
No longer used and may be confused with ovniemu
2022-09-29 18:09:54 +02:00
06823a6e69 Print burst stats 2022-09-29 18:03:16 +02:00
ca6d46698f Move sources to src 2022-09-29 16:52:30 +02:00