Rodrigo Arias Mallo
a0e7fad83e
The new task body model (or just body model) allows a task to have multiple bodies. Generally a body is mapped to the execution of the same user code of the task with specific input arguments. The body model can constraint if a given body can be paused or re-run again (resurrect). Additionally, the body model can run multiple nested bodies but with the restriction that the parent body should be paused first. This condition can be relaxed with the BODY_FLAG_RELAX_NESTING flag. |
||
---|---|---|
cfg | ||
cmake | ||
doc | ||
include | ||
src | ||
test | ||
.clang-format | ||
.gitignore | ||
.gitlab-ci.yml | ||
.readthedocs.yaml | ||
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.