This meta-repository contains the official OmpSs-2 programming model's releases.
- OmpSs-2 User Guide: https://pm.bsc.es/ompss-2-docs/user-guide
- OmpSs-2 Specification: https://pm.bsc.es/ompss-2-docs/spec
- OmpSs-2 Examples: https://pm.bsc.es/gitlab/ompss-2/examples
- OmpSs-2 Release Notes: NEWS.md
The OmpSs-2 programming model consist of several software repositories:
- Nanos6: A runtime system that supports OmpSs-2, predecessor to NODES+nOS-V
- NODES: The main runtime system that supports OmpSs-2 and works over the nOS-V tasking library
- nOS-V: A novel tasking library for efficient task execution and resource managing
- ovni: A fast instrumentation library to record small execution events and generate Paraver traces
- LLVM/Clang: A LLVM-based compiler that supports the OmpSs-2 directives (recommended)
- Several task-aware libraries for interoperability with other programming models:
- Task-Aware MPI: Library providing support for taskifying MPI communications
- Task-Aware GASPI: Library providing support for taskifying RMA communications
- Task-Aware CUDA: Library providing support for taskifying CUDA kernels and operations
- Task-Aware HIP: Library providing support for taskifying HIP kernels and operations
- Task-Aware SYCL: Library providing support for taskifying SYCL kernels and operations
- Task-Aware AscendCL: Library providing support for taskifying AscendCL kernels and operations
- Other libraries for instrumentation:
- Sonar: Instrumentation library for parallel programming models (e.g., MPI) using the ovni library
This repository contains the core software projects of the OmpSs-2 model as git submodules. This repository has a different git tag for each of the OmpSs-2 releases that are available. The submodules are a link to the different software repositories and they point to the release commit that corresponds to the OmpSs-2 release. Concretely, there is a submodule for each of the following projects: Nanos6, NODES, nOS-V, ovni, and LLVM/Clang.
The sources of the task-aware and Sonar libraries can be retrieved directly from their own repositories, which are listed above.
The current and latest stable release is OmpSs-2 2025.11 and its corresponding tag in this repository is 2025.06. The versions and tags for each individual software projects are the following:
| Software | Version | Individual Tag |
|---|---|---|
| Nanos6 | 4.3 | version-4.3 |
| NODES | 1.4.0 | github-release-2025.11 |
| nOS-V | 4.0.0 | github-release-2025.11 |
| ovni | 1.13.0 | 1.13.0 |
| LLVM | 22.0.0git | github-release-2025.11 |
Check the OmpSs-2 Release Notes in this repository to see the changes introduced in each stable OmpSs-2 release.
This repository contains all OmpSs-2 releases stored as git tags. These release
tags are named following the format YYYY.MM[.PATCH], which can be, for instance,
2020.11 or 2020.06.1.
Firstly, clone this repository to your local computer:
$ git clone https://github.com/bsc-pm/ompss-2-releases.git
$ cd ompss-2-releases
After cloning this repository, run the following command to move to a particular OmpSs-2 release:
$ git checkout 2025.11
Then, run the command below to download the Nanos6, NODES, nOS-V, ovni, and LLVM-based
compiler sources in the nanos6, nodes, nos-v, ovni, and llvm subfolders,
respectively. Those sources will be the ones that correspond to the selected release.
$ git submodule update --init
Once these sources are downloaded, follow the installation instructions that are detailed in the User Guide.