Skip to content

Conversation

wavefunction91
Copy link

@wavefunction91 wavefunction91 commented Jun 1, 2023

Add a SLATE compatibility layer for distributed memory linear algebra. (WIP)

Open questions:

  1. For TA -> SLATE copies we can always enforce (although perhaps not optimally) zero-communication. I'm unclear as to what we would want the expected behaviour of a SLATE -> TA copy to be. We could create a custom PMap from the map that SLATE uses, but it's unclear that would play nicely with everything else in TA. We could also pass a desired PMap/TiledRange for the resulting DistArray, but that could (and likely would trigger communication). How far down the compatibility rabbit-hole do we want to go?

@evaleev
Copy link
Member

evaleev commented Jun 6, 2023

unclear as to what we would want the expected behaviour of a SLATE -> TA copy to be. We could create a custom PMap from the map that SLATE uses, but it's unclear that would play nicely with everything else in TA.

That should be totally fine. TA algorithms never rely on any particular pmap for their args.

We could also pass a desired PMap/TiledRange for the resulting DistArray, but that could (and likely would trigger communication). How far down the compatibility rabbit-hole do we want to go?

Makes sense to just keep the result's tiles where they are. User can rebind another pmap explicitly if needed.

Let's learn about the needs first before spending too much time on the API.

@wavefunction91
Copy link
Author

Just to put a comment where someone might actually see it - I've disabled the "smart" iterator in CyclicPmap because I couldn't work out the logic and how to extend it to ColMajor. If it's a condition for merging, I'll work out the logic.

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