Go to file
Rodrigo Arias b0e25f29c7 Add an stronger restriction for task switching
In nOS-V, we can only switch from a running task to another if they are
from the same thread.
2022-06-02 15:32:40 +02:00
cfg Fix time scale in flush config 2022-01-12 17:11:56 +01:00
doc Add tracing documentation 2022-01-12 16:56:36 +01:00
nix Simplify nix-build and enable verbose tests 2022-01-13 13:17:32 +01:00
test Add another test to prevent double nesting 2022-06-01 17:01:51 +02:00
.gitignore Remove unneeded files from gitignore 2021-12-09 14:17:02 +01:00
.gitlab-ci.yml Simplify nix-build and enable verbose tests 2022-01-13 13:17:32 +01:00
chan.c Support for nested tasks 2022-04-25 12:20:33 +02:00
chan.h Support for nested tasks 2022-04-25 12:20:33 +02:00
CMakeLists.txt Transform asserts and follow coding style 2022-06-01 16:39:42 +02:00
common.h Poison assert() 2021-12-09 16:56:24 +01:00
compat.h Split glib and version check 2022-01-12 10:29:22 +01:00
COPYING Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
dump.c Simplify dump format 2022-01-12 11:05:38 +01:00
emu_kernel.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu_nodes.c Change Nanos6's name to NODES 2021-12-10 14:54:34 +00:00
emu_nosv.c Add an stronger restriction for task switching 2022-06-02 15:32:40 +02:00
emu_openmp.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu_ovni.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu_tampi.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu.c Add support for nOS-V task types 2022-06-01 17:17:13 +02:00
emu.h Use a hash of the type label to derive the gid 2022-06-02 15:28:04 +02:00
heap.h Remove asserts in heap.h 2021-12-09 16:50:18 +01:00
ovni2prv.c Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
ovni.c Allow a temporal directory to flush the buffers 2022-01-12 16:57:52 +01:00
ovni.h Allow a temporal directory to flush the buffers 2022-01-12 16:57:52 +01:00
ovnisync.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
parson.c Store CPU list in a metadata.json file 2021-08-03 17:48:37 +02:00
parson.h Store CPU list in a metadata.json file 2021-08-03 17:48:37 +02:00
pcf.c Use a hash of the type label to derive the gid 2022-06-02 15:28:04 +02:00
pcf.h Use a hash of the type label to derive the gid 2022-06-02 15:28:04 +02:00
plot-drift.py Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
prv.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
prv.h Set the trace duration in the PRV header 2021-11-03 11:33:16 +01:00
README.txt Use old cmake 3.10 command line style 2022-01-12 10:54:35 +01:00
sort.c Sync the stream with fdatasync() 2022-01-12 11:05:38 +01:00
test_speed.c Fix copyright years 2022-01-12 10:47:47 +01:00
trace.c Use a private mmap buffer for streams 2022-01-12 11:05:38 +01:00
trace.h Fix memory leaks 2021-11-19 16:48:53 +01:00
uthash.h Add nosv task support 2021-07-29 17:46:25 +02:00
utlist.h Remove asserts from utlist.h 2021-12-09 16:55:42 +01:00

           ovni - Obtuse but Versatile nOS-V Instrumentation

The ovni instrumentation project is composed of a runtime library (libovni.so),
which generates a fast binary trace, and post-processing tools such as the
emulator (emu), 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, take a look at the doc/ directory.

To build ovni you would need a C compiler, MPI and cmake version 3.10 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.