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

Integrate spmd multidimensionnal views for partitioned_vectors #2670

Merged
merged 4 commits into from Jun 27, 2017

Conversation

atrantan
Copy link

@atrantan atrantan commented Jun 1, 2017

This PR proposes to add spmd multidimensionnal view functionalities to manage segments of partitioned_vector. The added features include:

  • View constructions from partitioned_vector iterators :
    example: hpx::partitioned_vector_view<double,2> view (block, v.begin(), v.end(), {height,width} ), with block being a spmd_block, v being a partitioned_vector and height and width being integral values
  • Put operations (in MPI sense) allowed via the expression a(i,j) = b(i,j) or a(i,j) = some_std_vector
  • Get operations (in MPI sense) allowed via an explicit conversion :
    std::vector<T> v = ( std::vector<T> ) a(i,j)
  • iterators to iterate globally (or locally) over the segments covered by the view

@hkaiser
Copy link
Member

hkaiser commented Jun 3, 2017

@atrantan atrantan force-pushed the partitioned_vector_view branch 3 times, most recently from ce61e50 to 1682d5c Compare June 7, 2017 20:12
Copy link
Member

@sithhell sithhell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add documentation to the features you added?

@@ -0,0 +1,113 @@
// Copyright (c) 2017 Antoine Tran Tan
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a duplication of code that can be found here:
https://github.com/STEllAR-GROUP/hpx/blob/master/hpx/util/detail/pack.hpp#L44

Copy link
Author

@atrantan atrantan Jun 19, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sithhell I know. The reason is that multidimensionnal view usually does not exceed dimension 3 or 4 in scientific domains. The unrolled version implemented here (for those cases) has a much faster compilation time.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be better then to add the unrolled version to pack.hpp instead, so the whole library profits from it?

@atrantan
Copy link
Author

@Sithell
Copy link

Sithell commented Jun 20, 2017 via email

@hkaiser
Copy link
Member

hkaiser commented Jun 20, 2017

Sorry, but I'm not Sithhel, I'm Sithell

@Sithell: sorry, this was not meant for you but for one of our team-members: @sithhell

Copy link
Member

@hkaiser hkaiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go ahead with this. I'd assume however that there will be another PR adding some docs.

@Sithell
Copy link

Sithell commented Jun 26, 2017 via email

@hkaiser
Copy link
Member

hkaiser commented Jun 26, 2017

Oh, guys, I'm not your teammate. I'm Sithell, not Sithhel.

Sorry for that again :/ Can't guarantee it will not happen again, though ;)

@hkaiser hkaiser merged commit 13e33b8 into STEllAR-GROUP:master Jun 27, 2017
@sithhell
Copy link
Member

sithhell commented Jun 27, 2017 via email

@hkaiser
Copy link
Member

hkaiser commented Jun 27, 2017

@atrantan: could you prepare a separate PR please which integrates your unrolled implementation with the existing code in pack.hpp? This also could be part of the PR you're working on to add documentation.

@STEllAR-GROUP STEllAR-GROUP deleted a comment from Sithell Jun 27, 2017
@atrantan
Copy link
Author

@hkaiser Done in 6ba7818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants