Skip to content

Releases: Sandia-OpenSHMEM/SOS

Sandia OpenSHMEM v1.4.0 Alpha 1

09 Nov 22:41
9af5cf4
Compare
Choose a tag to compare
Pre-release

The Sandia OpenSHMEM development team is pleased to announce a pre-release of SOS v1.4.0 (Alpha 1). Below are some of the changes included in this release:

  • Full support for the OpenSHMEM 1.4 Specification. Here is the latest release candidate for the 1.4 specification document: OpenSHMEM-1.4-rc3.pdf
  • New features include: Thread safety, communication management API (contexts), test routines, sync routines, calloc for symmetric objects, bitwise atomic operations, and updated C11 generic selection bindings.
  • Deprecations include: Fortran API, shmem_wait routines, mpp header directory, and SMA-prefixed environment variables.
  • This is an alpha release; full API support is provided, but the implementation may contain bugs and is not yet optimized for performance.

Sandia OpenSHMEM v1.3.4

07 Nov 18:42
c22c6dc
Compare
Choose a tag to compare

The Sandia OpenSHMEM development team is pleased to announce the release of SOS v1.3.4. Below are some of the changes included in this release:

  • Added manpages for OpenSHMEM API routines.
  • Added polling limit control variables SMA_OFI_TX_POLL_LIMIT and SMA_OFI_RX_POLL_LIMIT (see README for details) to allow control over quiet and wait polling limits, respectively.
  • Rewrite of environment variable management code and improved info output.
  • Added support for processor atomics in thread-safe build.
  • Added support for local communication optimization (--enable-memcpy).
  • Added support for libfabric FI_MR_RMA_EVENT memory registration mode.
  • Added experimental support for the PMIx process management interface (--with-pmix).
  • Fixed completion race in multithreaded mode.
  • Fixed bugs in support for zero-length point-to-point and collective communication.
  • Multiple bugfixes to test suite, including GUPS benchmark

Sandia OpenSHMEM v1.3.3

18 Jun 09:57
Compare
Choose a tag to compare

The Sandia OpenSHMEM development team is pleased to announce the release of SOS v1.3.3. Below are some of the changes included in this release:

  • Fixed dissemination barrier race that could lead to incorrect synchronization.
  • Improved collect and all-to-all collectives performance.
  • Improved error reporting and debugging output.
  • Added support for proposed bitwise atomics (see shmemx.h).
  • Added shmemx_pcontrol function to profiling interface extension (see shmemx.h).
  • Added symbol hiding support in SHMEM library.
  • Fixed symmetric heap corruption bug in GUPS benchmark (see test/apps/gups.c).
  • Added target-side measurement and asymmetric configuration support to performance suite benchmarks.

Sandia OpenSHMEM v1.3.3 RC1

08 Jun 20:17
Compare
Choose a tag to compare
Pre-release

The Sandia OpenSHMEM development team is pleased to announce the release of SOS v1.3.3 release candidate 1 (RC1). Below are some of the changes included in this release:

  • Fixed dissemination barrier race that could lead to incorrect synchronization.
  • Improved collect and all-to-all collectives performance.
  • Improved error reporting and debugging output.
  • Added support for proposed bitwise atomics (see shmemx.h).
  • Added shmemx_pcontrol function to profiling interface extension (see shmemx.h).
  • Added symbol hiding support in SHMEM library.
  • Fixed symmetric heap corruption bug in GUPS benchmark (see test/apps/gups.c).
  • Added target-side measurement and asymmetric configuration support to performance suite benchmarks.

Sandia OpenSHMEM v1.3.2

22 Mar 02:19
Compare
Choose a tag to compare
  • Improved support for proposed multithreading extension (see shmemx.h), enabled at compile time via --enable-threads.
  • Enabled single-process, direct execution of SOS binaries with simple PMI.
  • Added argument error checking for all SHMEM routines, enabled at compile time via --enable-error-checking.
  • Multiple build system improvements, including support for VPATH builds.
  • Added new C and Fortran bindings generator that generates all headers and bindings, including profiling interfaces.
  • Added support for Fortran complex reductions API.
  • Updated Fortran bindings to use short (OpenSHMEM style) header by default.
  • Updated SHMEM_DEBUG output to include detailed build information.
  • Added --enable-completion-polling build option to poll in quiet/fence operations rather than waiting. This can improve performance for libfabric providers that require software-generated progress.
  • Added --disable-bounce-buffers build option to disable bounce buffering by default (i.e. set SHMEM_BOUNCE_SIZE to 0 by default).
  • Improved library path propagation (rpath) in compiler wrappers.
  • Improved PMI simple build and fixed integration of libpmi_simple library.
  • Update symmetric heap allocator to dlmalloc v2.8.6.
  • Update PMI-1 client library from MPICH.
  • Improved bandwidth efficiency and fixed bug in collect routines.
  • Fixed several bugs in tree-based collectives when using PE active sets.
  • Fixed several bugs in recursive-doubling reduction routine when using PE active sets and when source and target buffers overlap.
  • Fixed synchronization bug in memory management routines.

Sandia OpenSHMEM v1.3.2 RC2

13 Mar 18:27
Compare
Choose a tag to compare
Pre-release
  • Improved support for proposed multithreading extension (see shmemx.h)
  • Enabled single-process, direct execution of SOS binaries with simple PMI
  • Added argument error checking for all SHMEM routines, enabled at compile time via --enable-error-checking.
  • Multiple build system improvements, including support for VPATH builds
  • Added new C and Fortran bindings generator that generates all headers and bindings, including profiling interfaces.
  • Added support for Fortran complex reductions API
  • Updated Fortran bindings to use short (OpenSHMEM style) header by default
  • Updated SHMEM_DEBUG output to include detailed build information
  • Added --enable-completion-polling build option to poll in quiet/fence operations rather than waiting. This can improve performance for libfabric providers that require software-generated progress.
  • Improved library path propagation (rpath) in compiler wrappers
  • Improved PMI simple build and fixed integration of libpmi_simple library
  • Update symmetric heap allocator to dlmalloc v2.8.6
  • Update PMI-1 client library from MPICH
  • Improved bandwidth efficiency and fixed bug in collect routines
  • Fixed several bugs in tree-based collectives when using PE active sets
  • Fixed several bugs in recursive-doubling reduction routine when using PE active sets and when source and target buffers overlap
  • Fixed synchronization bug in memory management routines

Sandia OpenSHMEM v1.3.2 RC1

01 Mar 20:45
Compare
Choose a tag to compare
Pre-release
  • Enabled single-process, direct execution of SOS binaries with simple PMI
  • Enabled VPATH builds
  • Added argument error checking for all SHMEM routines, enabled at compile time
    via --enable-error-checking.
  • Added new C and Fortrans bindings generator that generates all headers and
    bindings, including profiling interfaces.
  • Added support for Fortran complex reductions API
  • Updated SHMEM_DEBUG output to include detailed build information
  • Added --enable-completion-polling build option to poll in quiet/fence
    operations rather than waiting. This can improve performance for libfabric
    providers that require software-generated progress.
  • Update symmetric heap allocator to dlmalloc v2.8.6
  • Update PMI-1 client library from MPICH
  • Improved bandwidth efficiency and fixed bug in collect routines
  • Fixed several bugs in tree-based collectives when using PE active sets
  • Fixed several bugs in recursive-doubling reduction routine when using PE
    active sets and when source and target buffers overlap
  • Fixed synchronization bug in memory management routines

Sandia OpenSHMEM v1.3.1

11 Nov 20:07
Compare
Choose a tag to compare
  • Support for allocating the symmetric heap using Linux huge pages.
  • Improved support for Cray XC platforms.
  • Improved support for variations in atomics support across OFI providers.
  • Initial support for thread safety in the OFI transport.
  • Fix several issues with C/C++ bindings and profiling interface.
  • Added new benchmarks, unit tests, and examples.

Sandia OpenSHMEM v1.3.1 RC1

04 Nov 20:46
Compare
Choose a tag to compare
Pre-release
  • Support for allocating the symmetric heap using Linux huge pages.
  • Improved support for Cray XC platforms.
  • Improved support for variations in atomics support across OFI providers.
  • Initial support for thread safety in the OFI transport.
  • Fix several issues with C/C++ bindings and profiling interface.
  • Added new benchmarks, unit tests, and examples.

Sandia OpenSHMEM v1.3.0

11 Jul 15:37
Compare
Choose a tag to compare
  • Support for OpenSHMEM 1.3 specification, including nonblocking communication, fetch/set atomics, all-to-all collectives, C11 generic bindings, and addition of const/volatile to C API.
  • Improvements to error checking of OpenSHMEM calls and internal debugging enabled through --enable-error-checking configure option.
  • Improvements to C++ compatibility, including support for type-generic bindings in C++.
  • Support for fabric and domain selection in the OFI transport, see SMA_OFI_DOMAIN/FABRIC environment variables in the README file for details.
  • Support for systems using the Aries network via the OFI GNI provider.
  • Enabled XPMEM support in combination with the OFI transport.
  • Support for PMI2-compliant process managers.
  • The OFI transport automatically falls back to software reductions when the provider does not support the particular combination of atomic operation and datatype for a given OpenSHMEM reduction.
  • Added multiple communication performance benchmarks to the test suite.
  • Multiple bug fixes and improvements to stability and performance.