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

Dask: Array #952

Merged
merged 1 commit into from Apr 7, 2021
Merged

Dask: Array #952

merged 1 commit into from Apr 7, 2021

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Mar 27, 2021

Add bindings for all record components to dask arrays (ND mesh record components and 1D particle record components).

Follow-Up To Do

Multi-node / multi-worker setup (aka distributed) and already seen with compute="processes":

distributed.protocol.pickle - INFO - Failed to serialize <openpmd_api.DaskArray.DaskRecordComponent object at 0x7fb2e8216670>. Exception: cannot pickle 'openpmd_api.openpmd_api_cxx.Mesh_Record_Component' object

and same for data frames:

openpmd_api.openpmd_api_cxx.ParticleSpecies

Similar to h5py, things might get tricky here: https://stackoverflow.com/questions/63236728/dask-to-hdf5-write-fails-h5py-cannot-be-pickled

Maybe we find a way to pickle a Record_Component by transporting the info needed to initialize a non-MPI series and re-creating the record component from it: file name, deferred open, iteration, record & record component name.

References

@ax3l ax3l added frontend: Python3 api: new additions to the API labels Mar 27, 2021
@ax3l ax3l force-pushed the topic-daskArrayMesh branch 5 times, most recently from 225c656 to 9714380 Compare March 27, 2021 08:35
@ax3l ax3l force-pushed the topic-daskArrayMesh branch 7 times, most recently from 2ff94ad to dab0b52 Compare April 6, 2021 06:38
@ax3l ax3l mentioned this pull request Apr 6, 2021
@ax3l ax3l force-pushed the topic-daskArrayMesh branch 4 times, most recently from c8e4cab to 8637e32 Compare April 6, 2021 07:04
@ax3l ax3l marked this pull request as ready for review April 6, 2021 07:26
@ax3l ax3l changed the title [WIP] Dask: Array Dask: Array Apr 6, 2021
Add bindings for all record components to dask arrays
(ND mesh record components and 1D particle record components).
@ax3l ax3l merged commit 6f4a833 into openPMD:dev Apr 7, 2021
@ax3l ax3l deleted the topic-daskArrayMesh branch April 7, 2021 22:16
@ax3l ax3l mentioned this pull request Dec 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: new additions to the API frontend: Python3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant