Go to file
2021-12-09 16:56:24 +01:00
cfg Add kernel support for context switch events 2021-12-02 10:37:53 +01:00
doc Add kernel events documentation 2021-12-02 10:37:53 +01:00
test Remove ovni_clock_update() 2021-12-02 10:36:47 +01:00
.gitignore Remove unneeded files from gitignore 2021-12-09 14:17:02 +01:00
chan.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
chan.h Fix some warnings for clang and intel compilers 2021-11-16 19:20:50 +01:00
CMakeLists.txt Include the tests after loading MPI 2021-12-09 14:17:02 +01:00
common.h Poison assert() 2021-12-09 16:56:24 +01:00
COPYING Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
dump.c Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
emu_kernel.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu_nanos6.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
emu_nosv.c Add extra checks when running a new task in nosv 2021-12-09 16:08:45 +01: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 Use signed integers for CPU ids 2021-12-09 16:08:45 +01:00
emu.h Poison assert() 2021-12-09 16:56:24 +01: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 Poison assert() 2021-12-09 16:56:24 +01:00
ovni.h Improve error handling in libovni 2021-12-09 14:18:33 +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 Add kernel support for context switch events 2021-12-02 10:37:53 +01:00
pcf.h Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01: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 Add testing instructions to README 2021-11-16 19:22:55 +01:00
sort.c Fix error reporting in ovnisort 2021-12-09 16:42:47 +01:00
test_speed.c Remove ovni_clock_update() 2021-12-02 10:36:47 +01:00
trace.c Transform all aserts into unconditional checks 2021-12-09 16:08:36 +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:

  % cmake -DCMAKE_INSTALL_PREFIX=$prefix -S . -B build
  % cd build
  % 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.