Skip to content

Releases: pmodels/oshmpi

OSHMPI 2.1 Alpha Release 1

23 Dec 21:30
58529bf
Compare
Choose a tag to compare

Preview version to support CPU-initiated GPU communication.

  • Allow user to specify the GPU awareness in underlying MPI implementation
    via environment variable OSHMPI_MPI_GPU_FEATURES ("pt2pt,put,get,acc",
    default all).

  • Support active message based RMA (i.e., using MPI PT2PT). Disable by default.

  • Support memory space with CUDA memory kind. New APIs include:

void shmemx_space_create(shmemx_space_config_t space_config, shmemx_space_t * space)
void shmemx_space_destroy(shmemx_space_t space)
int shmemx_space_create_ctx(shmemx_space_t space, long options, shmem_ctx_t * ctx)
void shmemx_space_attach(shmemx_space_t space)
void shmemx_space_detach(shmemx_space_t space)
void *shmemx_space_malloc(shmemx_space_t space, size_t size)
void *shmemx_space_calloc(shmemx_space_t space, size_t count, size_t size)
void *shmemx_space_align(shmemx_space_t space, size_t alignment, size_t size)
  • Examples to use the memory space APIs can be found at the built-in test suite:
    tests/space.c
    tests/space_int_amo.c
    tests/space_int_put.c
    tests/space_ctx_int_put.c

  • Enable MPI dynamic window based optimization. See configure option
    --enable-win-type=dynamic_win. Recommended to use with MPICH/OFI version
    3.4b1 or newer.

  • Allow --enable-fast=ipo to force inline performance critical routines.

OSHMPI 2.0 RC Release 1

12 Dec 05:04
127f663
Compare
Choose a tag to compare
  • Do not inline performance noncritical paths such as init, finalize,
    and memory management functions. It allows faster build and less
    instruction cache misses at runtime.

  • Enable operation tracking to avoid unnecessary network flush. See
    configure option --enable-op-tracking.

  • Enable datatype cache to reduce MPI derived datatype creation overhead at
    strided operations. See configure option --enable-strided-cache.

  • Disable internal assertion when --enable-fast configure option is set.

  • Update openpa git repository URL.

  • Bug fixes:

    • Unsupported MPI datatype with complexd reduce calls.
    • Compile openpa only when multithread safety is set.

OSHMPI 2.0 Beta Release 1

24 Aug 17:59
Compare
Choose a tag to compare
Pre-release

Changes in 2.0b1

  • Full support of OpenSHMEM 1.4 specification.

  • Function inline for all OSHMPI internal routines.

  • Caching internal MPI communicators for collective operations with PE
    active set.

  • OpenSHMEM multithreading safety support. Internal POSIX mutex-based
    per-object critical sections are enabled to ensure thread-safety when
    using OSHMPI with multithreaded OpenSHMEM program (SHMEM_THREAD_MULTIPLE).
    See --enable-threads configure option.

  • Active message support of OpenSHMEM atomic operations. MPI accumulates
    cannot be directly used in OpenSHMEM atomics because MPI does not
    guarantee atomicity between different reduce operations (e.g., add and cswap).
    Therefore, the active message based method is used by default. An MPI
    accumulates based version can be enabled by setting the configure option
    --enable-amo=direct, or setting the OSHMPI_AMO_OPS environment variable
    at runtime (See README).

  • Asynchronous progress thread for active message based atomic operations.
    Disabled by default. See --enable-async-thread configure option.

OSHMPI Version 1.0 Release

24 Aug 17:55
Compare
Choose a tag to compare

Reference implementation of OpenSHMEM over MPI