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
Typeless communicator #4678
Typeless communicator #4678
Conversation
7bdf335
to
2930ae6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't comment on the implementation, but less boilerplate is definitely good. Thanks!
2930ae6
to
1566040
Compare
@msimberg the idea is to replace the |
1566040
to
e2217d1
Compare
The use of |
@biddisco For For |
e2217d1
to
0d3e82a
Compare
I'm not so sure anymore if introducing a common API is really a good idea. The API introduced by #4676 looks like:
which is essentially equivalent to an If no further opinions are voiced here, I'll go back to #4676 and remove the common API for gather before it's merged. |
10d175c
to
6808ef7
Compare
OK. I understand, if the interface allow passing by value, then having a default construction of something that isn't used is pointless. I would hope that most of the time, things are being passed via pointers/references rather than copies of std::vectors and suchlike. If there is also a symmetric gather/scatter function that allows the (dare I say it) MPI like API, then that's fine. |
The problem would go away only if we allowed for pointers in the API, which I would like to avoid. |
6808ef7
to
7ff353a
Compare
This is now good to go as well. |
dd34beb
to
eeeb4d0
Compare
- This allows to get rid of the macros for all_reduce, all_to_all, broadcast, gather, and scatter
eeeb4d0
to
7326b91
Compare
all_reduce
,all_to_all
,broadcast
,gather
, andscatter
Relies on #4676 (only the last commit is significant)