Sandia OpenSHMEM v1.4.0 RC1
Pre-release
Pre-release
The Sandia OpenSHMEM development team is pleased to announce SOS v1.4.0, release candidate 1. Below are some of the changes included in this release:
- Support for OpenSHMEM 1.4, for details please refer to the OpenSHMEM 1.4 Specification.
- New features include: Thread safety, communication management API (contexts), test routines, sync routines, calloc, bitwise atomic operations, and updated C11 generic selection bindings.
- Deprecations include: Legacy Fortran API, shmem_wait routines, mpp header directory, and SMA-prefixed environment variables.
- Added support for OFI
FI_THREAD_COMPLETION
thread safety model, needed to use theSHMEM_THREAD_MULTIPLE
mode with the PSM2 provider and others (see --enable-thread-completion). For providers that supportFI_THREAD_SAFE
, this mode may also provider better performance for private and serialized contexts. - Added manpages for OpenSHMEM 1.4 API routines.
- Improved performance of private and serialized contexts.
- Improved performance of shmem_fence operation.
- Added memory barriers needed to support shared memory interactions between threads and PEs.
- Updated unit tests to remove use of deprecated API routines.
Please note that this is a pre-release, which may contain bugs or performance issues. In particular, internal resource sharing between OpenSHMEM contexts remains a work-in-progress, which may limit the number of contexts that can be created for a given OFI provider. While all OpenSHMEM 1.4 features have been implemented for the Portals transport, several features including contexts, are not yet optimized for Portals.