fa9196fd63
Add support for nOS-V task types
...
Use a unique identifier for each type, so we don't mix types with the
same id per-process.
2022-06-01 17:17:13 +02:00
ca6c85b2fb
Use chan index in the PRV table initialization
2022-06-01 17:17:13 +02:00
c22457d7d3
Add dynamic PCF types and values
2022-06-01 17:17:13 +02:00
1de6c53247
Remove cur_task from the emulator
2022-06-01 16:39:52 +02:00
70891355ec
Use only a stack of tasks for nosv
...
The running task is inferred from the task on top of the stack. Also,
allow a nested task to execute when there are others in the stack.
2022-06-01 16:39:52 +02:00
David Alvarez
a8b1256375
Support for nested tasks
2022-04-25 12:20:33 +02:00
1aae200614
Use pointers instead of indexes in streams
2022-01-12 11:05:38 +01:00
1b1ca7e232
Add rank support in metadata
2021-12-10 18:37:14 +01:00
Antoni Navarro
4719917ba9
Change Nanos6's name to NODES
2021-12-10 14:54:34 +00:00
19c535ef02
Poison assert()
2021-12-09 16:56:24 +01:00
ca9bbf6401
Close file descriptors after mmap
...
Now is no longer needed to increase the limit of the maximum number of
file descriptors opened when loading large traces.
2021-12-07 14:23:52 +01:00
ca95fb34a3
Add kernel support for context switch events
...
These events only show if a thread has been removed from the CPU, but
doesn't provide information about what other thread caused the context
switch. This type of information can be obtained even with strict
/proc/sys/kernel/perf_event_paranoid settings.
2021-12-02 10:37:53 +01:00
9bf99ad6a0
Add virtual flag to CPUs
2021-11-29 11:12:11 +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
2e659f6dd3
Remove unused loom members
2021-11-19 16:48:53 +01:00
ffd492e922
Allocate only the required threads
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
d54c287ec8
Split ovni trace funtions to another source file
2021-11-19 16:48:53 +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
97320eda4e
Add linter mode
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
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
5dc195a037
Remove nosv code in favor of the thread type
2021-11-03 11:33:14 +01:00
d3e87c2272
Add GPLv3 and MIT licenses
2021-11-03 11:32:17 +01:00
be7375a69b
Add support for sfree in nosv subsystems
2021-11-03 11:32:08 +01:00
7bd8f960f8
Implement flushing events in the emulator
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
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
b9f9ae1a59
Set the loom in the CPU
2021-10-21 16:53:00 +02:00
151f5a2b77
Set the loom in the process
2021-10-21 16:53:00 +02:00
Kevin Sala
52ba53ffda
Gathering nOS-V API instrumentation as new subnamespace
2021-10-21 16:53:00 +02:00
8f407d6ad2
Prefix subsystem values with "NOSV_"
2021-10-21 16:53:00 +02:00
78656ce83a
Remove unused nosv ss
2021-10-21 16:53:00 +02:00
8ff3359c34
Add experimental OpenMP support
2021-10-21 16:53:00 +02:00
Kevin Sala
a7463723bc
Adding TAMPI instrumentation
2021-10-21 16:53:00 +02:00
Kevin Sala
d2a349e895
Fixing scheduling events' identifiers
2021-10-21 16:53:00 +02:00
Kevin Sala
7def854b8b
Adding subsystem states for some nOS-V API calls
...
This commit includes states for the nosv_pause, nosv_yield,
and nosv_waitfor and nosv_scheduling_point API calls.
2021-10-21 16:53:00 +02:00
019668ac53
Use local bursts per thread
2021-10-21 16:53:00 +02:00
1d4796521b
Add cooling and warming states
2021-10-21 16:53:00 +02:00
3f22afc4b3
Handle all events with CPU and thread channels
2021-10-21 16:53:00 +02:00
6b83789460
Add CPU channels
2021-10-21 16:53:00 +02:00
dd1567e0ec
Add support for tracking modes in channels
2021-10-21 16:52:51 +02:00