Skip to content

Releases: tskisner/pshmem

Upload sdist on deploy

Choose a tag to compare

@tskisner tskisner released this 02 May 06:50

Full Changelog: 1.3.4...1.3.5

Ensure shared memory is read-only

Choose a tag to compare

@tskisner tskisner released this 02 May 06:13
a96629f

Shared memory should only be modified with the set() method. Otherwise memory may become inconsistent across the nodes of the communicator.

What's Changed

  • Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #41
  • Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #40
  • Set shared memory buffers to read-only outside of set() by @tskisner in #42

Full Changelog: 1.3.3...1.3.4

Small typo fix

Choose a tag to compare

@tskisner tskisner released this 23 Jan 06:49

Full Changelog: 1.3.2...1.3.3

Support shared memory buffers with more than 2^31 elements

Choose a tag to compare

@tskisner tskisner released this 23 Jan 06:36
ab72444

What's Changed

  • Drop support for python-3.9, add tests for python-3.14.
  • Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #34
  • Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #33
  • Bump actions/checkout from 5 to 6 by @dependabot[bot] in #35
  • Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #36
  • Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #37
  • Add an optional unit test for large buffers. by @tskisner in #39
  • Work around 32-bit limit on MPI buffer size by @keskitalo in #38

New Contributors

Full Changelog: 1.3.1...1.3.2

Small Deployment Fix

Choose a tag to compare

@tskisner tskisner released this 14 Oct 13:16

Fixing PyPI upload

Add new MPIBatch class

Choose a tag to compare

@tskisner tskisner released this 14 Oct 12:57

What's Changed

Full Changelog: 1.2.1...1.3.0

Fix registry bug at program exit

Choose a tag to compare

@tskisner tskisner released this 29 Jan 02:54
d5e15b8

If a python program terminates, objects are deleted in a random order. If the pshmem package registry is deleted before all MPIShared objects are deleted, then gracefully ignore requests to unregister the already deleted shared memory buffers.

What's Changed

  • Prevent errors caused by unregistering memory twice. by @tskisner in #27

Full Changelog: 1.2.0...1.2.1

Improve cleanup on termination

Choose a tag to compare

@tskisner tskisner released this 06 Jan 06:31
48b946c

What's Changed

This release includes fallback cleanup of shared memory on SIGTERM and migration to a new pyproject.toml. There are also improvements to the unit tests.

  • Improvements in use of python SharedMemory by @tskisner in #26

Full Changelog: 1.1.0...1.2.0

Switch to using Python SharedMemory

Choose a tag to compare

@tskisner tskisner released this 17 Mar 21:54
02cd641

In order to resolve portability challenges with use of shared memory, switch to using multiprocessing.shared_memory.SharedMemory from the standard library. This fixes tests on MacOS. One workaround is still needed to manually disable resource tracking, but that monkey patch will not be needed after python-3.13.0. One possible concern with this approach is that the resource_tracker code used by this python package spawns a helper process. Historically, some MPI implementations were very unhappy with this. However, I tested this with OpenMPI on Linux and MacOS, and also with Cray MPICH, running across multiple nodes. No problems observed so far.

Fix catch of unit test failures

Choose a tag to compare

@tskisner tskisner released this 14 Mar 05:48
2ca8e38
  • Unit test failures were not triggering a non-zero return to the calling shell. Now fixed.
  • Moved the pre-deletion of the shared memory segment until after all processes have wrapped the buffer in a numpy array, ensuring that the buffer is not released too early. This fixes a failure on macos.