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

GlobIter: Make GlobMemType a public typedef #635

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Conversation

bertwesarg
Copy link
Member

No description provided.

@codecov
Copy link

codecov bot commented Mar 12, 2019

Codecov Report

Merging #635 into development will increase coverage by <.01%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           development     #635      +/-   ##
===============================================
+ Coverage        84.94%   84.95%   +<.01%     
===============================================
  Files              335      335              
  Lines            24821    24821              
  Branches         11236    11236              
===============================================
+ Hits             21085    21087       +2     
  Misses            3733     3733              
+ Partials             3        1       -2
Impacted Files Coverage Δ
dash/include/dash/iterator/GlobIter.h 93.93% <ø> (ø) ⬆️
dash/include/dash/iterator/GlobViewIter.h 80.58% <ø> (ø) ⬆️
dash/include/dash/Team.h 94.73% <0%> (+2.1%) ⬆️

@bertwesarg
Copy link
Member Author

@pascalj this is needed to get the executor in mephisto work again:

mephisto-hpc/testing@60f6084#diff-0d729d073571dd4e46129f851327de2eR39

@fuchsto fuchsto self-requested a review March 12, 2019 21:09
@fuchsto fuchsto self-assigned this Mar 12, 2019
Copy link
Member

@fuchsto fuchsto left a comment

Choose a reason for hiding this comment

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

Iterators and memory as independent concepts is a crucial principle in the STL.
The conceptual discrimination here is not formalese, it is most definitely existential.
Or to avoid category theory, in software engineering terms:
Let's remember that every implementation of the Global Iterator concept had to provide a public type memory_type which again is required to be a model of the Global Memory concept.

I had a look at the Mephisto code that motivated this request.
We actually need execution- and memory spaces as proposed (but not realized?) in Kokkos:

kokkos/kokkos#457 (comment)

As a workaround for now, we could introduce dash::global_iterator_traits<GlobIterT>::memory_type, default-defined as void and specialized for ("befriended") global iterators which are actually memory-bound.

@bertwesarg
Copy link
Member Author

As a workaround for now, we could introduce dash::global_iterator_traits<GlobIterT>::memory_type, default-defined as void and specialized for ("befriended") global iterators which are actually memory-bound.

Ok, but than why did you removed @pascalj and @rkowalewski? @rkowalewski implemented the memory spaces in DASH and @pascalj implemented the mephisto part. I was only trying to get it to work again.

@fuchsto
Copy link
Member

fuchsto commented Mar 14, 2019

The changes in this PR are not related to memory spaces or Mephisto but on iterator concepts. Global memory concepts, maybe (both developed and implemented by myself, but why should that be relevant?)
I did not remove them from requests for review with malicious intent.

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