Skip to content

Releases: bsc-pm/nos-v

nOS-V 3.1.0 (OmpSs-2 2024.11)

15 Nov 11:47
Compare
Choose a tag to compare

Version 3.1.0, Fri Nov 15, 2024

This version corresponds to the OmpSs-2 2024.11 release. It contains performance and instrumentation improvements, support for RISC-V and coroutines, and a new topology API.

Changelog

  • Introduce support for breakdown model implementation, supported through the use of ovniemu -b.
  • Refactor shutdown mechanism, using a coordinated approach to prevent contention during runtime shutdown.
  • Introduce a Memory Pressure API, to query the current occupancy of the nOS-V shared memory segment.
  • Allow re-initialization of nOS-V, permitting the call to nosv_init() after nosv_shutdown().
  • Enable turbo setting by default, and add correctness checking to detect changes to FPU flags from outside of nOS-V.
  • Add support for coroutines and similar constructs through the nosv_suspend() API.
  • Add support for RISC-V.
  • Introduce a Topology API, which allows the configuration of system topology through the nosv.toml file.
  • Allow submitting tasks as NOSV_SUBMIT_IMMEDIATE from a task's run callback.
  • Introduce nosv_cond_t and related calls, as a replacement for pthread condition variables.
  • Other miscellaneous fixes and improvements.

nOS-V 2.2.0 (OmpSs-2 2024.05)

15 May 13:53
Compare
Choose a tag to compare

Version 2.2.0, Wed May 15, 2024

This version corresponds to the OmpSs-2 2024.05 release. It contains batch task submission, a new barrier and mutex API and ovni instrumentation for parallel tasks.

Changelog

  • Implement a batch submission API, which can accumulate tasks to submit them in batch once a certain threshold has been reached.
  • Add nosv_mutex_t and nosv_barrier_t as nOS-V aware alternatives to their pthread counterparts, improving interoperability.
  • Add instrumentation points for the nosv_attach and nosv_detach calls.
  • Add instrumentation for parallel tasks.
  • Activate the turbo.enabled configuration option by default, which enables flush-to-zero in x86-64 and aarch64.
  • Perform safety checks when the turbo.enabled configuration option is set to verify FPU flags are not modified by external libraries.
  • Split instrumentation events for the scheduler to allow them to be more granularly controlled.
  • Allow nOS-V programs to call fork() without leaving the forked process in an incoherent state.
  • Various refactors and bugfixes.

nOS-V 2.1.2

12 Apr 14:33
Compare
Choose a tag to compare

Version 2.1.2, Fri Apr 12, 2024

This version is a bugfix release, containing only compatible fixes with the previous patch versions.

Changelog

  • Allow nested calls to nosv_init and nosv_shutdown.
  • Add compatibility with newer versions of the ovni library.
  • Bypass calls to the pthread library when using nOS-V fake affinity support.
  • Fix an assert that could trip under specific conditions when using parallel tasks.

nOS-V 2.1.1 (OmpSs-2 2023.11)

17 Nov 13:40
Compare
Choose a tag to compare

Version 2.1.1, Fri Nov 17, 2023

This version corresponds to the OmpSs-2 2023.11 release. It contains changes to the attach API, support for the ALPI tasking interface, and support for parallel tasks.

Changelog

  • Add misc.stack_size config option to change the stack size of nOS-V threads
  • Allow calling nosv_init and nosv_shutdown multiple times
  • Change error handling to return custom nOS-V error codes
  • Implement nosv_cancel API to wake up blocked tasks before their timeout expires
  • Add compatibility layer for calls to sched_get/setaffinity and pthread_get/setaffinity
  • Implement ovni.level configuration option and fine-grained instrumentation control
  • Add instrumentation points for the nosv_create and nosv_destroy APIs
  • Implement parallel tasks which can be executed on multiple CPUs at once
  • Change nosv_attach API to not require an explicit task type and support multiple attaches
  • Implement ALPI (Async Lowlevel Programming Interface) support
  • Various bugfixes and corrections

nOS-V 1.0.0

28 May 07:06
Compare
Choose a tag to compare
Version 1.0.0