-
Notifications
You must be signed in to change notification settings - Fork 110
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
Testing: RMA AxpyInterface #34
base: master
Are you sure you want to change the base?
Conversation
…n in alg2 of T.Hoefler DSDE paper
…nterface code sync from his forked repo and defined EL_MPI_EXPERIMENTAL macro
…r performance; added non-blocking consensus stuff and dummy rma code, code in rmainterface is just some cut-paste, would work on it actively
…o use wait instead of test in nbc version
…variant that waits instead of test in nbc...found a bug - when axpy dim < npes the nbc variant deadlocks...fixing it after some rma stuff
…lus some comments
…n nbc is turned on, we could bypass everything related to handleoms and save memory
…r packing-unpacking logic from rmainterface
…ialization...intermediate commit, acc still does not work because of incorrect indices and window disp
…fy others following the same
…etion for rma-nb...also introduced collective-flush, Cflush for axpy2, which follows nbc (incorrect usage of which shall lead to deadlock)
…s...added non-collective flush and some synch functions
…intermediate buffer until I find a clever solution to achieve mpi3_flush_local; updated flush to a noncollective version, introduce waitany function
… >=3 and rma axpy macro is enabled
|
||
std::vector<std::deque<bool>> | ||
sendingData_, sendingRequest_, sendingReply_; | ||
std::vector<std::deque<mpi::Request>> |
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.
std::vector and std::deque were imported into the El namespace, and so it is now okay (and preferred) to use just "vector" and "deque" (the same holds for "cout", "cerr", and "endl").
Hi Sayan, Do you think that this PR is ready to be merged? It's probably best that it will be immediately after the 0.86 release, as I haven't had time to seriously test it. The merge seems to not be able to be automatically handled right now. Do you think this could be easily fixed? Jack |
Hi Jack - I think so, I shall fix the merge issues and notify. Thanks, On Mon, Mar 9, 2015 at 8:54 PM, Jack Poulson [email protected]
Regards, |
More GPU macro protection
The changes are only localized to a few existing files and some new files, the intention is to improve the performance of Axpy interface by including new routines and modifying existing ones. Changes to particular files are mentioned below:
2.1. Implemented using MPI-3 RMA - Files affected are mpi.cpp, mpi.hpp, Rmainterface.hpp and Rmainterface.cpp.
2.2. Implemented using MPI-2 sided send/recv - Files affected are mpi.cpp, mpi.hpp, Axpyinterface2.hpp and Axpyinterface2.cpp.
I think this could be improved further, and feedback/criticism is greatly appreciated. The interface was @jeffhammond 's idea, and I am thankful to him and Antonio Peña/Pavan Balaji from Argonne National Lab for all the help that lead to this.