NODES is developed by the System Tools and Advanced Runtimes (STAR) group at the Barcelona Supercomputing Center. NODES -- short for nOS-V-based Dependency System -- is a runtime library designed to work on top of the nOS-V runtime while providing most of the functionalities from its predecessor, Nanos6. NODES acts as a dependency system for nOS-V by synchronizing the data flow of codes annotated with OmpSs-2 directives and bridges the gap between nOS-V and user applications through these annotations. Simultaneously, nOS-V manages the life cycle of multiple generic tasks from various applications or libraries such as NODES and handles their interaction with the system.
The NODES (nOS-V based OmpSs-2 DEpendency System) Runtime Library is Free Software, licensed under the clauses of the GNU GPL v3 License included in the COPYING file. The copyright of the files included in this package belongs to the Barcelona Supercomputing Center, unless otherwise stated.
The following software is required to build and install NODES:
Additionally, NODES is prepared to use the following optional libraries:
- ovni to instrument and generate execution traces for offline performance analysis with paraver. Minimum version required 1.5.0
- A C++20 compiler to enable further functionalities
When cloning from a repository, the building environment must be prepared through the following command:
$ autoreconf -fivWhen the code is distributed through a tarball, it usually does not need that command.
Then execute the following commands:
./configure --prefix=$INSTALL_PATH_NODES \
--with-nosv=$INSTALL_PATH_NOSV \
--with-boost=$INSTALL_PATH_BOOST \
--with-ovni=$INSTALL_PATH_OVNI \
...other options...
make all
make installwhere $INSTALL_PATH_NODES is the directory into which to install NODES.
The configure script also accepts the following options:
--with-nosvto specify the prefix of the nOS-V installation--with-boostto specify the prefix of the boost installation--with-ovnito specify the prefix of the ovni installation (Optional)--with-nodes-clangto specify the prefix of a CLANG installation with NODES support (Optional)
Further documentation on known limitations and how to run programs with NODES can be found here
The development of NODES requires contributors to follow these few simple guidelines:
- C++17
- K&R indentation style
- Camel case coding style
