Skip to content

OmpSs-2 2025.11

Latest

Choose a tag to compare

@narru19 narru19 released this 28 Oct 13:16

Version 2025.11, Tue Oct 28, 2025

The OmpSs-2 2025.11 release enhances the taskiter construct through the NODES runtime and extends the APIs of the nOS-V tasking library and the LLVM Clang compiler. This improves the interaction with the attaching and detaching of threads and enhances the efficiency of the Taskiter mechanism. It also introduces several bug fixes and improvements to the NODES runtime, the nOS-V tasking library, the ovni instrumentation library, and the LLVM Clang compiler.

nOS-V

  • Added support for emitting hardware counter events in ovni traces
  • Introduce nosv_rwlock_t and related calls, as a replacement for pthread read-write locks
  • Introduce nosv_pthread_create as a drop-in replacement for pthread_create
  • When compiled with --enable-debug, nosv_mutex_t will now perform owner checks to aid debugging nOS-V programs
  • Added common utility scripts and sample job submission files for common nOS-V configurations, installed in the nOS-V share directory
  • Added flags attach/detach flags to instruct nOS-V to instrument attached threads through ovni
  • Changed the API for pthread synchronization primitives alternatives to return POSIX-like error codes
  • Changed the default isolation_level for nOS-V to process, instead of user. Now, by default, nOS-V programs will not share instances with other processes. Users should enable inter-process capabilities explicitly through the config file or using the shared-mpi preset
  • Fixed detection of invalid or unusable cores given in topology.binding
  • Fixed detection of mismatching cpu bindings between runtimes sharing the same nOS-V instance
  • Fixed the nosv_cond test failing under certain conditions

NODES

  • Re-implementation of the newly optimized taskiter construct
  • Improve usability by swapping to the use of a configuration file (nodes.toml) instead of environment variables
  • Add the option to build NODES with AddressSanitizer
  • Add an internal parallelization mechanism within NODES. Currently only leveraged through the taskiter construct
  • Deprecate NODES_OVNI. Although it currently overrides the new configuration file, it will be removed in a future release
  • Improve and move the documentation currently found within the README to a separate documentation folder
  • Fixed memory leaks related to the TaskMetadata class, Taskloops, dependencies, and SpawnFunctions
  • Fixed bugs regarding reductions which yielded wrong values in some scenarios

LLVM/Clang

  • Adapt to the newer nOS-V API calls
  • Several bugfixes for both OmpSs-2 constructs and OpenMP

Ovni

  • Add support for hardware counters (HWC) in nOS-V
  • Add user documentation for NODES instrumentation
  • Increase nOS-V model version to 2.6.0
  • Fix a bug in ovniemu when loading loom CPUs from multiple threads

Nanos6 and Task-Aware Libraries

  • No relevant changes compared to the previous release