2.0 KiB
2.0 KiB
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