Commit Graph

75 Commits

Author SHA1 Message Date
aaa7769448 Add nosv mutex API events 2024-03-22 16:56:25 +01:00
d1312ff6e9 Fix definitions for kernel context switch events 2024-03-20 12:27:47 +01:00
31c3c965c7 Increase Nanos6 model minor version
As Nanos6 now emits pause events for the parent task before nesting
another one, we increase the minor so the old emulator rejects new
traces that come with the new pause events.
2024-03-14 14:43:05 +01:00
2c58a6058b Document version changes in emulator models
A consistency check ensures that all versions reported by the emulator
appear in the documentation as the latest version. This prevents
forgetting updating the version in the documentation.
2024-03-14 13:56:37 +01:00
815633221d Port nOS-V model to task bodies
The nOS-V events are modified in two ways: 1) to create a parallel task
the new VTC event must be used and 2) all task events for both normal
(VTc) and parallel (VTC) tasks require an extra argument in the payload
to indicate the body id. As a consequence, the nOS-V model version is
now increased to 2.0.0.

Additionally, all the channel PRV flags are set to PRV_SKIPDUPNULL, so
duplicates are only emitted if they are not null. It solves the problem
when a task switches to another task with the same body id.

A new Paraver configuration is added for the body id.
2024-03-13 17:07:26 +01:00
55318d9da7 Update OpenMP emulation model
Add more tests, subsystem states and documentation.
2024-03-12 11:35:18 +01:00
Raúl Peñacoba Veigas
bf2b3b73a0 Add OpenMP emulation model
For now it only has support for subsystems

Co-authored-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2024-03-08 13:04:45 +01:00
4993197fb9 Add nOS-V attach and detach API events
Instead of showing the "attached" state with the VH{aA} events, we show
when the call to nosv_attach() and nosv_detach() take place. The old
VH{aA} events are now ignored. Bumps the nOS-V model version to 1.1.0.
2024-02-15 17:59:41 +01:00
68fc8b0eba Encode ovnievents output for HTML 2024-01-30 12:02:02 +01:00
e4da326c76 Update emulator event list
Generates the emulation event list by using the ovnievents tool.
2024-01-30 12:02:02 +01:00
bae38d1d26 Describe event declaration language 2023-12-21 14:55:05 +01:00
e002db72fd Correct documentation on thread metadata 2023-11-16 12:39:14 +01:00
f02994c149 Document thread metadata in trace spec 2023-11-16 12:39:14 +01:00
f34479712a Add model version in documentation 2023-11-16 12:39:14 +01:00
d836b7e46d Include changelog in documentation 2023-11-16 12:39:14 +01:00
ab42ac4557 Add thread metadata 2023-11-16 12:21:50 +01:00
4b4f1bd218 Don't modify nOS-V subsystem state on task pause
In nOS-V, when a task was paused via the VTp event, two things were
happening: 1) the task state was set to pause and 2) the subsystem state
"Task: Running" was being popped.

This causes a problem when a task calls nosv_submit() in blocking mode,
as it will call nosv_pause() which will emit a VTp event from a
subsystem different than "Task: Running".

To solve this conflict, we handle the subsystems state and the task
state separately with the VTp and VTr events. The subsystem state "Task:
Running" no longer is connected to the state of the task and only shows
if we entered the body of the task or not. It has now been renamed to
"Task: In body".

The new state "Task: In body" represents that the task body has begun
the execution and is still in the stack, but the task may be paused. The
subsystem is not changed by the VTp (pause) or VTr (resume) events.

Fixes: https://pm.bsc.es/gitlab/rarias/ovni/-/issues/128
2023-10-23 11:26:17 +02:00
Kevin Sala
7b4ebca002 Add OVNI_TRACEDIR envar to change trace directory
This commit introduces the OVNI_TRACEDIR environment variable to change
the directory where traces are generated. By default, when the envar is
not defined, the trace is still generated in the ovni directory. The
envar can take a trace directory name, a relative path to the directory,
or its absolute path. In the first case, the directory is created in the
current path $PWD.

Both libovni (rt) and ovnisync read this environment variable.
2023-10-23 07:49:28 +00:00
Kevin Sala
3ea89edac7 Update Sonar repository URL pointing to the public GitHub 2023-10-23 07:38:15 +00:00
Kevin Sala
9a628e78ca Add MPI model with interface view 2023-09-06 18:11:18 +02:00
Kevin Sala
276afd5479 Add TAMPI model with subsystems view 2023-08-22 18:13:29 +02:00
Kevin Sala
9269dd7202 Add nosv create and destroy API subsystem states 2023-08-17 13:23:59 +02:00
ff2f33abb9 Document sponge mode and progress events 2023-04-17 17:47:07 +02:00
63e79a9a73 Document the sponge mode in the Idle view 2023-04-14 13:39:37 +00:00
0e75a2b6ad Update the Idle view 2023-04-06 15:33:15 +00:00
14dc70c6a2 Document the breakdown view 2023-04-06 15:33:15 +00:00
a4ce0e2a1e Add Idle view in Nanos6 2023-04-06 15:33:15 +00:00
d8a9f33075 Add .obs suffix in doc of thread streams 2023-03-24 12:08:45 +00:00
757a8e9f39 Run one process of ovnisync per node 2023-03-24 12:08:45 +00:00
fb95abcc25 Update documentation on duplicate values 2023-03-24 12:08:45 +00:00
b08e148cbe Update mux documentation 2023-03-24 12:08:45 +00:00
5adfd80bce Move user guide docs to a new directory 2023-03-24 12:08:45 +00:00
5741cc383f Add developer documentation 2023-03-24 12:08:45 +00:00
9202085267 Remove tampi and openmp outdated models 2023-03-24 12:08:45 +00: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
c272701d4f Set logo background to solid white 2022-11-14 17:08:07 +01:00
4381d601aa Add installation instructions 2022-11-14 10:40:32 +01:00
b1b4f37032 Copy Paraver configs into the trace directory
Keeps the trace self-contained.
2022-11-09 16:09:33 +01:00
a2702ad92a Add requeriments.txt for readthedocs 2022-11-04 11:49:26 +01:00
675c4f9ee8 Store the clock offset table inside the trace
The ovnisync tool now generates it by default inside ovni directory,
and the emulator recognizes it by default if exists.
2022-09-29 14:28:47 +02:00
b44c245405 Use 6t events for subsystem transition
No longer mix task state transitions (6T) with subsystem changes.
2022-09-21 17:30:23 +02:00
baff1c050b Add preliminar support for taskfor
The emulator cannot handle tasks that are executed multiple times and
concurrently. The task for executes a single task (with unique id) multiple
times by using different arguments. The task model needs to be extended to
support the taskfor clause properly. In the meanwhile, we simple set the
subsystem to be running a taskfor.
2022-09-21 13:30:22 +02:00
0fea805b44 Clarify "Task: Running body" subsystem state 2022-09-21 13:15:55 +02:00
957cdaa81e Fix processReadyTask event value in doc 2022-09-20 10:27:49 +02:00
7962b835f4 Add missing doc subsystem items for Nanos6 2022-09-14 13:21:17 +02:00
81e5f19267 Update Nanos6 events 2022-09-12 16:16:11 +02:00
576936ef01 Add CPU idle and active events 2022-09-12 16:16:10 +02:00
903244d22b Update documentation 2022-09-12 16:16:10 +02:00
ac1ae8e69d Use one event per blocking type in Nanos6 2022-09-12 16:16:10 +02:00
2679655b2a Add more documentation 2022-09-12 16:16:10 +02:00