Rodrigo Arias
4b4f1bd218
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 |
||
---|---|---|
cfg | ||
cmake | ||
doc | ||
include | ||
src | ||
test | ||
.clang-format | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
COPYING | ||
flake.lock | ||
flake.nix | ||
mkdocs.yml | ||
README.md |
The ovni project is composed of a runtime library (libovni.so), which generates a fast binary trace, and post-processing tools such as the emulator ovniemu, which transform the binary trace to the PRV format, suitable to be loaded in Paraver.
The libovni.so library is licensed under MIT, while the rest of tools are GPLv3 unless otherwise stated.
For more information, read the documentation online or take a look at the
doc/ directory. You can display the documentation in HTML by running mkdocs serve
from the root directory.
To build ovni you would need a C compiler, MPI and cmake version 3.20 or newer.
To compile in build/ and install into $prefix
use:
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=$prefix ..
$ make
$ make install
To run the tests you can run (from the build directory):
$ make test
See cmake(1) and cmake-env-variables(7) to see more information about the variables affecting the generation and build process.