Installation of nOS-V

The nOS-V runtime is a lightweight tasking library with co-execution capabilities, which is designed to be used as a core for other more complex parallel runtimes and implements the nOS-V tasking API.

nOS-V can be obtained from the GitHub public repository or by contacting us at pm-tools@bsc.es.

Build requirements

The following software is required to build and install nOS-V:

  1. automake, autoconf, libtool, make and a C11 compiler

  2. libnuma

Optional libraries and tools

The following software is required to enable additional optional features:

  1. ovni to instrument and generate execution traces for offline performance analysis with Paraver

  2. PAPI to generate real-time statistics of hardware counters

Build procedure

nOS-V uses the standard GNU automake and libtool toolchain. When cloning from a repository, the building environment must be prepared through the command below. When the code is distributed through a tarball, it usually does not need that command.

$ autoreconf -fiv

Then execute the following commands:

$ ./configure --prefix=$INSTALLATION_PREFIX ...other options...
$ make
$ make install

where $INSTALLATION_PREFIX is the directory into which to install nOS-V.

The configure script accepts the following options:

  1. --with-ovni=prefix to specify the prefix of the ovni installation and enable the ovni instrumentation

  2. --with-libnuma=prefix to specify the prefix of the libnuma installation

  3. --with-papi=prefix to specify the prefix of the PAPI installation and enable monitoring features

  4. CACHELINE_WIDTH=width to specify the length in bytes of a cache line in the target architecture

After building, nOS-V tests can be executed using:

$ make check