Commit Graph

690 Commits

Author SHA1 Message Date
25cf3a8585 Allocate only the needed looms 2021-11-19 16:48:53 +01:00
d54c287ec8 Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
34701b2219 Transform bad exits into aborts in channels 2021-11-19 16:47:35 +01:00
1b9225dd2a Add cmake option to enable debug logs
It can be enabled with -DENABLE_DEBUG_LOG=ON
2021-11-19 16:29:44 +01:00
cddda71cfb Early duplicate state detection in channels
These checks allows the emulator to abort at the moment in which two
consecutive states are going to be emitted by the channel, showing the
culpirit in the backtrace. Waiting for the check in chan_emit() hides
the source of the problem.
2021-11-19 16:22:37 +01:00
9944b391ae Mark as dirty all CPU channels 2021-11-17 12:11:13 +01:00
557371e836 Only allow and emit state transitions
Fixes the ghost events shown in the PRV trace. Only transitions to a
different state are allowed now.
2021-11-17 12:08:25 +01:00
78f5db4bce Add testing instructions to README 2021-11-16 19:22:55 +01:00
ba36f5702c Fix the test driver 2021-11-16 19:22:48 +01:00
def2510086 Remove janson.h as a build dependency 2021-11-16 19:20:50 +01:00
8eef8d0e60 Ignore only the build directory 2021-11-16 19:20:50 +01:00
85c1666f90 Prefix program names with "ovni"
The "emu" and "dump" programs now are called "ovniemu" and "ovnidump".
2021-11-16 19:20:50 +01:00
5fed28bad8 Use modern target-based dependency for MPI 2021-11-16 19:20:50 +01:00
77adb27cb9 Use <PackageName>_ROOT variables if possible 2021-11-16 19:20:50 +01:00
dd8519f6e6 Update readme with build instructions 2021-11-16 19:20:50 +01:00
40233b3628 Add test support 2021-11-16 19:20:50 +01:00
97320eda4e Add linter mode 2021-11-16 19:20:50 +01:00
4fcef1c5b6 Fix some warnings for clang and intel compilers 2021-11-16 19:20:50 +01:00
73d9e323b9 Remove const array initialization
The implementation is not mandatory and clang doesn't support it.
2021-11-16 19:20:45 +01:00
623a938b1a Add cmake support 2021-11-16 18:49:35 +01:00
Antoni Navarro
dc6713f75c Further renames of Nanos6 labels and others 2021-11-12 16:15:33 +01:00
Antoni Navarro
c9b189feb8 Refactor emu_nanos6 into a simpler function 2021-11-12 11:53:53 +01:00
Antoni Navarro
04895a7aea Rename Nanos6-Lite to Nanos6 2021-11-12 11:35:38 +01:00
Antoni Navarro
a9223b3886 Add Nanos6-Lite Instrumentation 2021-11-05 15:03:49 +01:00
29ea26e871 Emit flush events in order, after the user event
Fixes the backwards jump in time warnings each 2 MB of buffer, caused by
the flush events being written out of order.
2021-11-03 11:33:16 +01:00
e05f78bb0f Set the trace duration in the PRV header 2021-11-03 11:33:16 +01:00
5dc195a037 Remove nosv code in favor of the thread type 2021-11-03 11:33:14 +01:00
41211eec8a Use the values as-is for appid, taskid and typeid 2021-11-03 11:32:17 +01:00
fe3b408157 Add _emit sufffix in ovni_ev and ovni_ev_jumbo
The new names avoid problems in C++ as the struct ovni_ev collided with
the ovni_ev function.
2021-11-03 11:32:17 +01:00
3a30f25413 Add readme 2021-11-03 11:32:17 +01:00
d3e87c2272 Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
f44be6598c Remove unused def.h file 2021-11-03 11:32:17 +01:00
be7375a69b Add support for sfree in nosv subsystems 2021-11-03 11:32:08 +01:00
87f3f7851b Fix CPU config window names 2021-10-21 17:04:58 +02:00
3c913dd26b Implement extended init for CPU channels 2021-10-21 16:53:01 +02:00
97248c70ea Document emulator channels 2021-10-21 16:53:01 +02:00
749c755b5d Remove debug messages from libovni 2021-10-21 16:53:01 +02:00
f864567ac4 Remove objects zoom in PRV config 2021-10-21 16:53:01 +02:00
7bd8f960f8 Implement flushing events in the emulator 2021-10-21 16:53:01 +02:00
2f565450ea Clean commented code in emu_ovni.c 2021-10-21 16:53:01 +02:00
a3e542830d Ensure the thread is active in openmp 2021-10-21 16:53:01 +02:00
9f87c2a7a0 Simplify openmp mode hooks 2021-10-21 16:53:01 +02:00
29b7662e41 Collapse nOS-V API switch 2021-10-21 16:53:01 +02:00
98db4a2fe0 Remove virtual events 2021-10-21 16:53:00 +02:00
6f8b46e753 Rename channel NTHREADS by NRTHREADS 2021-10-21 16:53:00 +02:00
9d83a319b0 Remove unused cpu members and simplify comments 2021-10-21 16:53:00 +02:00
d8845acb9f Merge error states together 2021-10-21 16:53:00 +02:00
8d616e60b2 Merge nOS-V API events together in the doc 2021-10-21 16:53:00 +02:00
434bf40465 Improve CFG files
Added accurate titles, random mode and removed event flags.
2021-10-21 16:53:00 +02:00
5a940540d3 Use priority queue for streams and fast channels
A priority queue (in heap.h) is used to keep the next event ready in the
emulator loop. Additionally, a list of dirty channels is keept to
limit the complexity of the propagation and emit phases.
2021-10-21 16:53:00 +02:00