Commit Graph

30 Commits

Author SHA1 Message Date
6180235b50 Add metadata version support 2022-07-18 16:47:53 +02:00
544c67330c Allow a temporal directory to flush the buffers
The directory can be specified using the OVNI_TMPDIR environment
variable.
2022-01-12 16:57:52 +01:00
1b1ca7e232 Add rank support in metadata 2021-12-10 18:37:14 +01:00
2046833700 Improve error handling in libovni
- Transform asserts into unconditional checks
- Abort as soon as an error is encountered
- Remove return errors
2021-12-09 14:18:33 +01:00
d79b887182 Remove ovni_clock_update()
The clock is now managed by the user, using the ovni_clock_now()
function to sample the current value and ovni_ev_set_clock() to set the
event clock timestamp. This change allows events with custom clock
values.
2021-12-02 10:36:47 +01:00
5eadcb404e Use const qualifier in public ovni.h functions 2021-11-19 17:09:39 +01:00
a663f2c11b Allocate only the required CPUs 2021-11-19 16:48:53 +01:00
8153742c1f Use a linked list for threads in each CPU
Allows for unlimited threads in each CPU.
2021-11-19 16:48:53 +01:00
bed8c35980 Allocate only the required processes 2021-11-19 16:48:53 +01:00
25cf3a8585 Allocate only the needed looms 2021-11-19 16:48:53 +01:00
def2510086 Remove janson.h as a build dependency 2021-11-16 19:20:50 +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
d3e87c2272 Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01: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
11b85f03c2 Add extern C guards in ovni.h 2021-10-21 16:53:00 +02:00
ac6013419b Replace class by category to avoid C++ problems 2021-10-21 16:53:00 +02:00
6a3ea0907a Enable pedantic and use C11 std 2021-09-28 19:30:31 +02:00
755f2e84f3 Use 64 bit clock to prevent overflows
Large offsets between nodes may overflow the previous 48 bit clock
leading to an incorrect reconstructed clock value after the correction
with the 64 bit offset.
2021-08-11 11:50:07 +02:00
Kevin Sala
9ea58831cd Increasing maximum number of procs and threads 2021-08-10 10:18:40 +02:00
Kevin Sala
543dd51d8f Fixing compilation errors 2021-08-10 10:16:41 +02:00
60862db890 Store CPU list in a metadata.json file
This allows early access to the CPU list in order to emit the PRV header
before consuming events from the streams.
2021-08-03 17:48:37 +02:00
b6af567b23 Use a string to identify the loom
Allows the use of the hostname by now
2021-08-02 20:03:20 +02:00
Rodrigo
4e23d7d435 WIP 2021-08-02 10:08:58 +02:00
d7c81b3048 Add jumbo events 2021-07-30 20:08:40 +02:00
d25bbed350 Distribute emulator into modules 2021-07-28 11:56:35 +02:00
cfc4eb7527 Single header and move lib functions to libovni 2021-07-24 10:53:41 +02:00
17d977aad0 Use write() and mark flushes 2021-07-22 12:35:02 +02:00
025378a843 Split event data into two shorts: a and b 2021-07-21 18:27:58 +02:00
fe5d223190 Store traces per thread 2021-07-19 19:05:26 +02:00
1092faebf3 Initial commit 2021-07-19 15:11:41 +02:00