177429fabc
Follow K&R coding style using clang-format
2022-09-29 16:52:28 +02:00
834b33af33
Use SPDX license identifiers
2022-09-29 14:16:47 +02:00
cf0ca35769
Add Nanos6 model version
2022-09-12 16:16:10 +02:00
c83c8d2e56
Update copyright
2022-07-27 18:24:13 +02:00
861a4b7f73
Add model version in metadata
2022-07-27 18:22:13 +02:00
610516840e
Add binary stream header with version
2022-07-26 19:04:08 +02:00
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