Releases: bsc-pm/nanos6
Nanos6 4.3 (OmpSs-2 2025.06)
Version 4.3, Fri Jun 6, 2025
The 4.3 version corresponds to the OmpSs-2 2025.06 release. It adds compatibility with ALPI version 1.2 and support for the grid clause on CUDA tasks.
General
- Add compatibility with ALPI version 1.2.
- Add support for the grid clause on CUDA tasks.
- Weaken DLB test requirements (partial drop of tests).
Nanos6 4.2 (OmpSs-2 2024.11)
Version 4.2, Fri Nov 15, 2024
The 4.2 version corresponds to the OmpSs-2 2024.11 release. It adds compatibility with ALPI version 1.1.
General
- Add compatibility with ALPI version 1.1 by implementing various functions from the tasking interface
Nanos6 4.1 (OmpSs-2 2024.05)
Version 4.1, Wed May 15, 2024
The 4.1 version corresponds to the OmpSs-2 2024.05 release. It introduces the directory/cache (D/C) for Host and CUDA devices. It also adds several fixes for the instrumentation.
General
- Add directory/cache (D/C) for Host and CUDA devices
- Add device memory allocation API for D/C-managed memory
- Require ovni 1.5.0 or greater
- Fix NUMA tests to accept executions with no
NUMA_ALL_ACTIVE
Instrumentation
- Fix thread instrumentation order when blocking task
- Call
ovni_thread_requiresfor the Nanos6 model - Call
ovni_thread_freewhen threads end - Always mark task as paused when entering taskwait in ovni
Nanos6 4.0 (OmpSs-2 2023.11)
Version 4.0, Fri Nov 17, 2023
The 4.0 version corresponds to the OmpSs-2 2023.11 release. It provides support for the ALPI tasking interface, reduces the external software requirements, and removes obsolete features.
General
- Implement the ALPI tasking interface to support external task-aware libraries
- Allow embedding jemalloc allocator
- Embed hwloc and jemalloc by default
- Add
devices.cuda.prefetchoption to control CUDA prefetching of data dependencies (enabled by default) - Install the nanos6.toml configuration file in
$prefix/share - Remove obsolete
instrument.hpublic interface - Remove obsolete
statsandgraphinstrumentations - Remove software dependency with libunwind and elfutils
- Improve ovni library discovery
- Fix execution when enabling extrae instrumentation
- Fix memory leaks
- Fix several tests
Nanos6 3.0 (OmpSs-2 2023.05)
Version 3.0, Wed May 24, 2023
The 3.0 release corresponds to the OmpSs-2 2023.05 release. It introduces several performance improvements, important bug fixes, and improved usability and programmability. It also improves the support for the ovni instrumentation.
General
- Leverage C++17 standard, which may require newer GCC (such as GCC 7 or later)
- Fix visualization of task labels for programatically spawned tasks (e.g., polling tasks from task-aware libraries)
- Deprecate CTF instrumentation; use ovni instrumentation instead
- Remove support for the
task forclause
Performance
- Decrease the default immediate successor probability to 0.75 instead of 1.0. Always applying the immediate successor policy can degrade the performance of some applications. Instead, if your program considerability relies on it, set it back to 1.0
- Remove several dynamic memory allocations that were on the critical path of Nanos6 code
- The
turbo.warmupindicates whether the runtime should perform a warmup of Jemalloc arenas (enabled by default) - Add the config list option
cpumanager.sponge_cpusto indicate which CPUs should not be used by the runtime. A sponge CPU is a CPU that the runtime system has available but it does not execute any task (or runtime code) on it. Such CPUs are useful to reduce the system noise. The runtime leaves these CPUs free (without consuming CPU time) so that the system can schedule other threads and interruptions on them
Building and Usability
- Add the
autogen.shscript to prepare autotools, instead ofautoreconf - Allow embedding a hwloc library into Nanos6 to avoid conflicts with other external hwloc libraries
- Add the configure option
--with-hwlocto specify whether hwloc should be external or embedded - Attach the hwloc 2.9.1 tarball inside the
depsfolder for the embedded default hwloc. Seeautogen.sh --helpfor more information
ovni Instrumentation
- Add support for the ovni's Idle view that can be displayed with Paraver
- Add support for the ovni's Breakdown view that can be displayed with Paraver
- Support ovni 1.2.0 version and higher compatible versions
- Perform a run-time version check to verify if the loaded ovni library is compatible
- Link Nanos6 with ovni library using
runpathinstead ofrpathto allow changing the ovni library throughLD_LIBRARY_PATH