Skip to content

OmpSs-2 2023.05.1

Compare
Choose a tag to compare
@kevinsala kevinsala released this 24 Jul 15:34
· 7 commits to master since this release

OmpSs-2 2023.05.1, Mon Jul 24, 2023

The OmpSs-2 2023.05.1 release includes several bug fixes and improvements with respect to the OmpSs-2 2023.05 release. These bug fixes are listed at the end of these release notes.

The OmpSs-2 2023.05 releases include new software projects and several performance and usability improvements for the OmpSs-2 programming model. In the context of OmpSs-2, this release introduces the new NODES runtime system supporting OmpSs-2, a novel and efficient tasking library named nOS-V, new Task-Aware libraries for interoperability with GPU offloading models, and new features in the ovni instrumentation library.

General

  • Improve support for ovni instrumentation in the Nanos6 runtime and support for the idle CPUs view
  • Add performance and usability improvements in Nanos6
  • Allow embedding hwloc library into Nanos6 to avoid conflicts with other third-party software that use different hwloc versions
  • Add support for atomic and critical OmpSs-2 directives in the LLVM/Clang compiler
  • Drop support for task for clause
  • Mercurium is the OmpSs-2 legacy compiler, not supported anymore, and will not provide new features for OmpSs-2. Use the LLVM/Clang compiler instead

NODES Runtime and nOS-V Tasking Library

  • Introduce the new low-level nOS-V threading and tasking library, enabling co-execution of applications
  • Introduce the new NODES runtime system, built on top of nOS-V, that supports the OmpSs-2 model. This runtime implements the taskiter construct and leverages directed task graphs (DCTG) to optimize the execution of iterative applications
  • Extend -fompss-2 option from LLVM/Clang to choose between Nanos6 and NODES runtimes by accepting the option values libnanos6 (default) and libnodes, respectively

Task-Aware Libraries

  • Introduce the new Task-Aware CUDA (TACUDA), Task-Aware HIP (TAHIP) and Task-Aware SYCL (TASYCL) libraries. These task-aware libraries seamlessly integrate the CUDA, HIP and SYCL APIs for GPU offloading with the OmpSs-2 and OpenMP tasking models
  • Add performance improvements and bug fixes in the Task-Aware MPI (TAMPI) and Task-Aware GASPI (TAGASPI) communication libraries
  • Extend Task-Aware MPI (TAMPI) to support ovni instrumentation and allow tracing of multi-node hyrbid MPI+OmpSs-2 applications

ovni Instrumentation

  • Add new graph-based design in ovni to support complex models like the new breakdown timeline

Changes with respect to the 2023.05 release

The OmpSs-2 2023.05.1 includes the following bug fixes and improvements with respect to the 2023.05 version:

Nanos6 Runtime

  • Fix CUDA kernel launch configuration and improve performance of OmpSs-2@CUDA support
  • Allow failures at CUDA prefetching without aborting the execution
  • Fix linking with jemalloc when --as-needed linking flag is used
  • Improve testing infrastructure and programs
  • Update documentation regarding OmpSs-2@CUDA support
  • Improve general documentation

LLVM/OpenMP Runtime

  • Fix OpenMP potential use-after-free in polling tasks' mechanism

LLVM/Clang Compiler

  • Fix unconditional break inside a for-loop which is encapsulated in a task
  • Fix device tasks call order when capturing more information in other clauses
  • Add support shmem clause in device tasks