update spherical and 2d painting to work better for sharding#53
Open
update spherical and 2d painting to work better for sharding#53
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updating the painting functions to better support sharding and be more memory efficient
2D Painting
2D Painting now will give a sharded flat sky projection and will only use communications for the scattering done in the end to aggregate contribution of particles
Spherical Painting
Now uses all devices for computations (healpy ang2pix 2vec etc ..) and will never all gather .. will use communications at the very end to produce the fully replicated healpix map
I could consider even sharding the healpix map on 1d, however this might not be very efficient since we will eventually need to gather it for the alm2map_spin (so I will not consider sharding spherical maps for now)
Results
for spherical painting for example
this PR depends on CMBSciPol/jax-healpy#2 and it should be merged after