bsc-pm / ompss-2-releases

This meta-repository contains the releases of the OmpSs-2 programming model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)
  • Mercurium: The source-to-source compiler supporting OmpSs-2 directives (legacy compiler)
  • 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, LLVM/Clang and Mercurium (legacy).

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 2023.11 and its corresponding tag in this repository is 2023.11. The versions and tags for each individual software projects are the following:

Software Version Individual Tag
Nanos6 4.0 github-release-2023.11
NODES 1.1 github-release-2023.11
nOS-V 2.1.1 github-release-2023.11
ovni 1.4.1 1.4.1
LLVM 18.0.0git github-release-2023.11
Mercurium 2.3.0a github-release-2023.11

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 2023.11

Then, run the command below to download the Nanos6, NODES, nOS-V, ovni, LLVM-based compiler and Mercurium sources in the nanos6, nodes, nos-v, ovni, llvm, and mcxx 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.

About

This meta-repository contains the releases of the OmpSs-2 programming model