9b373fb16c
Add bench6 test to run full mini-apps
2025-04-25 11:47:50 +02:00
1f71bc8e90
Add bench6 to run benchmark tests
2025-04-25 11:47:45 +02:00
81c137a65e
Add OpenMP simple breakdown support
...
For now we only show the breakdown of the label and subsystem, without
the idle information.
2025-04-25 11:47:40 +02:00
1dcb3f4822
Check ovniemu -b works without can_breakdown set
...
Ensure that we can successfully process a trace that has nOS-V threads
without the can_breakdown flag set to true. We simply don't enable the
nOS-V breakdown, but other models can enable it.
2025-04-23 15:32:52 +02:00
a1a2941b64
Allow -b flag without nosv.can_breakdown
...
As we now have OpenMP and nOS-V models for breakdown, we may have the
situation in which nOS-V traces don't have enough events to enable the
breakdown model, but we do on OpenMP. Rather than stopping, disable the
nOS-V model with a warning and continue.
2025-04-23 15:32:52 +02:00
c2f9bf0b75
Update LLVM commit for OpenMP
...
The new passive policy is fixed in a new commit.
2025-04-23 15:16:32 +02:00
5eec5a17f3
Add passive and active tests for OpenMP
...
Makes sure that we are no longer generating too many pause events.
2025-04-23 15:12:40 +02:00
120e69eeec
Remove deprecated gcc <= 8 and add gcc 14
2025-04-23 15:10:12 +02:00
a007e77f72
flake.lock: Update
...
Flake lock file updates:
• Updated input 'bscpkgs':
'git+https://git.sr.ht/~rodarima/bscpkgs?ref=refs/heads/master&rev=3b21a32d835ff06741d5d59cd023ff2ae1ecb19f ' (2024-01-15)
→ 'git+https://git.sr.ht/~rodarima/bscpkgs?ref=refs/heads/master&rev=f962816eabd534eafe948499322589921f230e72 ' (2025-03-07)
• Updated input 'nixpkgs':
'path:/nix/store/wl5m5xfayd69ycyspzyd4rilfgl6wmh0-source?lastModified=1693663421&narHash=sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA%2Bmxvl8%3D&rev=e56990880811a451abd32515698c712788be5720' (2023-09-02)
→ 'github:NixOS/nixpkgs/9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc?narHash=sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8%3D' (2025-01-14)
2025-04-23 15:08:46 +02:00
3338878c72
Update nOS-V commit to reduce yield events
2025-03-24 16:01:38 +01:00
c847ec19ad
Add noisy yield test in nOS-V
...
Ensure we can call nosv_yield in a loop without generating a lot of
events when using the level 3 instrumentation level. Noisy events are
now moved to level 4, so they shouldn't appear on the trace.
Additionally, make sure that the noisy events appear on level 4.
2025-03-21 16:57:44 +01:00
a8a8a0e763
Add nOS-V non-blocking scheduler server events
...
The events are emitted when we enter the scheduler with the non-blocking
flag, which is usually the case when using the nosv_yield and
nosv_schedpoint API functions.
See: https://gitlab.bsc.es/nos-v/nos-v/-/merge_requests/155
2025-03-21 16:57:44 +01:00
c3248cf0c4
Fix cast from pointer to integer in armv7
...
A pointer may not fit in a off_t type, so we first cast it to intptr_t
which must be able to hold it, then compute the diff which should fit in
a off_t and perform the cast.
Reported-by: Miquel Vidal Piñol <miquel.vidal@bsc.es>
2025-03-18 12:40:46 +01:00
Raúl Peñacoba Veigas
9826879bcd
Add OpenMP support for labels and taskID views
...
CI / build:rt (push) Failing after 15s
CI / build:debug (push) Successful in 13s
CI / build:asan (push) Failing after 13s
CI / build:nompi (push) Successful in 13s
CI / build:compilers (push) Successful in 13s
CI / build:local (push) Successful in 23s
Co-authored-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2024-12-09 16:41:16 +01:00
a7103f8510
Release version 1.11.0
2024-11-08 10:26:10 +01:00
d931a68b3e
Set cfg colors for nosv_cond apis
2024-11-08 10:13:01 +01:00
a297adab7a
Add tests for nosv_cond
2024-11-08 10:13:00 +01:00
b5fd438ce0
Add nosv_cond API events (nosv 3.1.0)
2024-11-08 10:13:00 +01:00
a4a5bf0d37
Update nosv
2024-11-08 10:13:00 +01:00
180ac51aea
Use fixed clock for sort-into-previous-region test
...
With large values of clocks, awk starts to lose precision due handling
the time as floating point values, which causes the test to fail. By
always setting the clock of the events to a known value we can just
compare the outcome as-is, without performing any arithmetic operation.
Fixes: https://pm.bsc.es/gitlab/rarias/ovni/-/issues/205
2024-11-06 11:51:57 +01:00
73b19ca1c4
Allow setting manual clock for emu events
2024-11-06 11:51:55 +01:00
31e8802803
Allow partial CPUs in thread metadata
2024-11-05 10:56:51 +01:00
fe860b2e38
Add partial-cpus test
2024-11-05 10:56:29 +01:00
60b575c8f8
Add python3 dependency for openmp
2024-10-29 09:42:03 +01:00
3a20cb717c
Update runtimes, clang and ovni commits for CI
2024-10-29 09:41:58 +01:00
3bbfe0f0ec
Update changelog
2024-10-25 14:39:41 +02:00
04d984d4fc
Make cpu index check more strict
2024-10-25 14:22:37 +02:00
05c4ed4963
Remove info() call leftover in libovni
2024-10-25 14:22:37 +02:00
7cf69d055a
Remove ovni as explictly required model
...
It is already added as a requirement in ovni_thead_init().
2024-10-25 14:22:37 +02:00
4c80cb3ed1
Fix typos in docs and extend CPU index usage
2024-10-25 14:22:32 +02:00
4c5e3ae151
Make all atomic operations explicit
2024-10-25 13:41:15 +02:00
86d0d11869
Add trace diagram and organize concepts
2024-10-25 13:41:15 +02:00
bf8c609dbd
Remove trailing slashes from tracedir
2024-10-25 13:41:15 +02:00
706aa4a787
Rename trace-model.md to just trace.md
2024-10-25 13:41:15 +02:00
dd5b85d2c8
Add examples in some trace concepts
2024-10-25 13:41:15 +02:00
53aa3b3679
Add example program for mark API
2024-10-25 13:41:15 +02:00
6c33a2f4c0
Document environment variables
2024-10-25 13:41:15 +02:00
ea77f3d72e
Fix unit-stream test
2024-10-25 13:41:15 +02:00
c190d27467
Remove tracing.md
2024-10-25 13:41:15 +02:00
ecf4c5da8c
Update trace specification to version 3
2024-10-25 13:41:15 +02:00
6285a47f72
Explain some concepts in the documentation
2024-10-25 13:41:15 +02:00
5d4fa15eb9
Change hyperlinks to point to .md files
...
Allows mkdocs to discover broken links when the pointed document has
moved.
2024-10-25 13:41:15 +02:00
bb4e4d7e56
Emit rank information after ovni_thread_init
2024-10-25 13:41:15 +02:00
c9bbd542c5
Store rank information in the libovni thread
...
Prevents threads from finishing while another thread is being
initializing the rank information, causing a race to read the rank and
nranks.
2024-10-25 13:41:15 +02:00
6e99d91dae
Use atomics to protect libovni process state
...
Multiple threads may attempt to initialize or finalize the process, so
we keep the state stored in an atomic integer to protect against bad
usage.
2024-10-25 13:41:15 +02:00
4c2071e906
Make calling ovni_thread_require() optional
...
When only emitting ovni events, there is no need to explicitly require
the ovni model, as libovni will already pre-populate it for the user.
2024-10-25 13:41:15 +02:00
b49671d530
Always require the current ovni model
2024-10-25 13:41:15 +02:00
5c11c469f2
Make ovni.require a mandatory attribute
...
We no longer accept streams that don't have the ovni.require attribute.
2024-10-25 13:41:15 +02:00
361290e24f
Parse metadata from proc and loom directly
...
All the metadata keys are known to proc and loom only, making it
self-contained. The metadata.c module is no longer needed.
2024-10-25 13:41:15 +02:00
65d1a5ecec
Add merge-cpus-loom test
...
Ensure we can merge the information of CPUs from multiple threads.
2024-10-25 13:41:15 +02:00