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_tand related calls, as a replacement for pthread read-write locks - Introduce
nosv_pthread_createas a drop-in replacement forpthread_create - When compiled with
--enable-debug,nosv_mutex_twill 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
sharedirectory - 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_levelfor nOS-V toprocess, instead ofuser. 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 theshared-mpipreset - 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_condtest failing under certain conditions
NODES
- Re-implementation of the newly optimized
taskiterconstruct - 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
taskiterconstruct - 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
READMEto a separate documentation folder - Fixed memory leaks related to the
TaskMetadataclass,Taskloops, dependencies, andSpawnFunctions - 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