Skip to content

bsc-pm/ompss-2-releases

Repository files navigation

OmpSs-2 Releases

This meta-repository contains the official OmpSs-2 programming model's releases.

The OmpSs-2 programming model consist of several software repositories:

  • Nanos6: The main runtime system that supports OmpSs-2
  • NODES: The 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.

Latest Stable Release

The current and latest stable release is OmpSs-2 2024.05 and its corresponding tag in this repository is 2024.05. The versions and tags for each individual software projects are the following:

Software Version Individual Tag
Nanos6 4.1 github-release-2024.05
NODES 1.2 github-release-2024.05
nOS-V 2.2.0 github-release-2024.05
ovni 1.9.1 1.9.1
LLVM 19.0.0git github-release-2024.05

Check the OmpSs-2 Release Notes in this repository to see the changes introduced in each stable OmpSs-2 release.

Getting Started

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 2024.05

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.