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

mhp::distributed_mdarray #629

Open
lslusarczyk opened this issue Nov 7, 2023 · 0 comments · Fixed by #620
Open

mhp::distributed_mdarray #629

lslusarczyk opened this issue Nov 7, 2023 · 0 comments · Fixed by #620

Comments

@lslusarczyk
Copy link
Contributor

lslusarczyk commented Nov 7, 2023

Summary

Created two-dimensional distributed matrix data structure.
distributed_matrix

Concepts

  • A distributed_range is a forward_range with a segments that returns a range of remote_ranges.
  • A remote_range is a forward_range with a rank stating which memory locale it is in.

Feature details

Implement distributed matrix data structure, which automatically distributes a dense matrix among multiple memory locales. It should provide

  • Tile Partitioning - matrix automatically partitions a matrix into multiple tiles using a block cyclic distribution strategy that is customizable by the user by choosing either block or interleave on leading dimension.
  • Each tile is a remote_range matrix view that can be viewed individually using the tile method.
  • support halo exchange
  • Matrix Access: that is elements of the dense matrix can be access globally using operator[], which returns a remote reference to the corresponding element.
  • support an iterator interface, where the iterator iterates over every stored element of the matrix returning a tuple value holding the corresponding row and column index as well as scalar value.

Te structure needs to

  • be tested and functional on MPI backend.
  • support new Distributed Mdspan Algorithms: mdfor_each, mdfor_each_stencil, mdfor_each_tile
  • support new Distributed Mdspan Views: mdsubspan
@lslusarczyk lslusarczyk moved this to 🏗 In progress in Distributed-Ranges Project Nov 7, 2023
@lslusarczyk lslusarczyk linked a pull request Nov 7, 2023 that will close this issue
This was referenced Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

Successfully merging a pull request may close this issue.

1 participant