Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared memory array API and optional tight integration with numpy #338

Open
wants to merge 12 commits into
base: ctx_cancel_semantics_and_overruns
Choose a base branch
from

Conversation

goodboy
Copy link
Owner

@goodboy goodboy commented Oct 15, 2022

Initial module import from piker.data._sharemem and first implementation of the system(s) discussed in #339.


Would like to have done for this to land:

@goodboy goodboy changed the title Share memory array API and optional tight integration with numpy Shared memory array API and optional tight integration with numpy Oct 18, 2022
@jaredgoldman
Copy link

See issue regarding OSX support here: #340

@goodboy goodboy force-pushed the shm_apis branch 2 times, most recently from d3e1722 to 8d12858 Compare May 15, 2023 14:04
@goodboy goodboy changed the base branch from master to ctx_cancel_semantics_and_overruns June 6, 2023 20:52
goodboy added 12 commits June 15, 2023 12:20
More or less a verbatim copy-paste minus some edgy variable naming and
internal `piker` module imports. There is a bunch of OHLC related
defaults that need to be dropped and we need to adjust to an optional
dependence on `numpy` by supporting shared lists as per the mp docs.
First attempt at getting `multiprocessing.shared_memory.ShareableList`
working; we wrap the stdlib type with a readonly attr and a `.key` for
cross-actor lookup. Also, rename all `numpy` specific routines to have
a `ndarray` suffix in the func names.
Demonstrates fixed size frame-oriented reads by the child where the
parent only transmits a "read" stream msg on "frame fill events" such
that the child incrementally reads the shm list data (much like in
a real-time-buffered streaming system).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants