Files
devshell/ompss2
..
2026-02-04 11:54:30 +01:00
2026-02-04 11:54:30 +01:00
2026-02-04 11:54:30 +01:00
2026-02-04 11:54:30 +01:00
2026-02-04 11:54:30 +01:00
2026-02-04 11:54:30 +01:00

OmpSs-2 environment

This example shows how to include the LLVM compiler to build OmpSs-2 programs with the new NODES and nOS-V runtime. The package clangOmpss2Nodes already sets all the needed variables to locate the right runtime.

Run nix develop then make to build the hello program:

apex% nix develop
apex$ make
clang -fompss-2    hello.c   -o hello
apex$ ./hello
hello from task 1
hello from task 0
hello from task 2
hello from task 3
hello from task 4
hello from task 7
hello from task 8
hello from task 6
hello from task 9
hello from task 5

You can use make trace to run the hello program with instrumentation and generate an ovni trace that is then converted to paraver:

apex$ make trace
rm -rf ovni/
NOSV_CONFIG_OVERRIDE="instrumentation.version=ovni" NOSV_APPID=1 ./hello
hello from task 1
hello from task 0
hello from task 3
hello from task 4
hello from task 5
hello from task 6
hello from task 2
hello from task 8
hello from task 7
hello from task 9
ovniemu ovni/
ovniemu: INFO: loaded 58 streams
ovniemu: INFO: sorting looms by name
ovniemu: INFO: loaded 1 looms, 1 processes, 58 threads and 56 cpus
ovniemu: INFO: generated with libovni version 1.13.0 commit 0643266
ovniemu: INFO: the following 2 models are enabled:
ovniemu: INFO:      ovni 1.1.0 'O' (18 events)
ovniemu: INFO:      nosv 2.6.0 'V' (64 events)
ovniemu: INFO: emulation starts
ovniemu: INFO: apex.nosv-u1880-p598308 burst stats: median/avg/max =  77/ 81/333 ns
ovniemu: WARN: ignoring old event OCn
ovniemu: INFO: 100.0% done at avg 42 kev/s
ovniemu: INFO: processed 711 input events in 0.02 s
ovniemu: INFO: writing traces to disk, please wait
ovniemu: INFO: emulation finished ok
ls -l ovni/*.prv
-rw-r--r-- 1 rarias Computational 48224 Feb  4 11:52 ovni/cpu.prv
-rw-r--r-- 1 rarias Computational 33689 Feb  4 11:52 ovni/thread.prv