Branch: refs/heads/mpi_futures Home: https://github.com/STEllAR-GROUP/hpx Commit: 1a6f00a99f01939011113ce4d4149d0d6ea7ad87 https://github.com/STEllAR-GROUP/hpx/commit/1a6f00a99f01939011113ce4d4149d0d6ea7ad87 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths: M hpx/runtime/threads/detail/scheduling_loop.hpp M libs/threading_base/include/hpx/threading_base/scheduler_base.hpp M libs/threading_base/include/hpx/threading_base/scheduler_mode.hpp M libs/threading_base/src/scheduler_base.cpp Log Message: ----------- Add a user defined scheduler background process callback This is intended to be used to add an MPI polling function that allows mpi::futures to be generated from MPI requests. Other user supplied polling functions are possible. Commit: 05697a7cbda966fa9fd1ab3c9ad85d1216c91943 https://github.com/STEllAR-GROUP/hpx/commit/05697a7cbda966fa9fd1ab3c9ad85d1216c91943 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/CMakeLists.txt M libs/all_modules.rst A libs/mpi/CMakeLists.txt A libs/mpi/README.rst A libs/mpi/docs/index.rst A libs/mpi/examples/CMakeLists.txt A libs/mpi/include/hpx/mpi/mpi_future.hpp A libs/mpi/tests/CMakeLists.txt A libs/mpi/tests/performance/CMakeLists.txt A libs/mpi/tests/regressions/CMakeLists.txt A libs/mpi/tests/unit/CMakeLists.txt A libs/mpi/tests/unit/mpi_ring_async.cpp Log Message: ----------- Add new hpx::mpi library for futures with async MPI calls This adds support for getting a future from an asynchronous MPI call and having the future ready when the call completes. Background progress is made in MPI by simply attaching a callback into the scheduling loop to handle MPI Requests. Commit: dd6799233382110a1e505dca9030b7323f023b3b https://github.com/STEllAR-GROUP/hpx/commit/dd6799233382110a1e505dca9030b7323f023b3b Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp M libs/mpi/tests/unit/mpi_ring_async.cpp Log Message: ----------- Use vector of requests and MPI_Testany optimization Rather than using a std::list and testing every request we can now instead use a vector and call MPI_Testany to reduce overheads slightly. The original list version is maintained as benchmarking of the two methods on real applications will be instructive Some functionality has been moved into an hpx::mpi::detail namespace Commit: 403fd362473f1b987c543bd275b0096a960aa019 https://github.com/STEllAR-GROUP/hpx/commit/403fd362473f1b987c543bd275b0096a960aa019 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp M libs/mpi/tests/unit/mpi_ring_async.cpp Log Message: ----------- Add mpi error handler and mpi return type with future<int> (was <void>) mpi future debug message cleanup Commit: d0be212cad8edcdac6e4176dffac2244c1e9c61b https://github.com/STEllAR-GROUP/hpx/commit/d0be212cad8edcdac6e4176dffac2244c1e9c61b Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp Log Message: ----------- Fix an incorrect iterator increment in mpi::poll Thanks to Teodor Nikolov for reporting this Commit: 57bd5f062c28098daeb78bdaa2502b75eb7aa528 https://github.com/STEllAR-GROUP/hpx/commit/57bd5f062c28098daeb78bdaa2502b75eb7aa528 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: A libs/mpi/include/hpx/mpi/comm_wrapper.hpp Log Message: ----------- Add simple/initial mpi communicator wrapper This is useful for managing multiple simultaneous collectives to help ensure that two collective operations do not use the same communicator Commit: ef1238c5033b1515f5c1e91e973d945383b146fb https://github.com/STEllAR-GROUP/hpx/commit/ef1238c5033b1515f5c1e91e973d945383b146fb Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M cmake/HPX_AddModule.cmake M libs/CMakeLists.txt M libs/create_library_skeleton.py M libs/mpi/CMakeLists.txt Log Message: ----------- Allow module libraries (e.g. mpi) to disable themselves This is useful to allow a module library to be conditionally disabled if certain options are set/unset or conditions not met but those options are not visible outside of the module itself. Commit: 38531184ae843410224bad8bf0f14f874120452c https://github.com/STEllAR-GROUP/hpx/commit/38531184ae843410224bad8bf0f14f874120452c Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: A cmake/templates/libs_enabled.hpp.in M libs/CMakeLists.txt Log Message: ----------- Generate hpx/config/libs_enabled.hpp with all enabled libs defined Commit: 7d730e82f5a3feb3c99396f84bced411d142b8d8 https://github.com/STEllAR-GROUP/hpx/commit/7d730e82f5a3feb3c99396f84bced411d142b8d8 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/docs/index.rst Log Message: ----------- hpx::mpi Docs Commit: 296432d75d9fcd2b13466f5fac1a6ac14353f918 https://github.com/STEllAR-GROUP/hpx/commit/296432d75d9fcd2b13466f5fac1a6ac14353f918 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/CMakeLists.txt M src/runtime_impl.cpp Log Message: ----------- Initialize APEX using MPI if networking is off, but MPI support is enabled Commit: a202a2614f0fbdc24917cba2e210b9cf68c871c5 https://github.com/STEllAR-GROUP/hpx/commit/a202a2614f0fbdc24917cba2e210b9cf68c871c5 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/CMakeLists.txt Log Message: ----------- Fix a CMake empty expansion when vars are not set Commit: 7917d52e59863f4cee91f08630f50a50121d0205 https://github.com/STEllAR-GROUP/hpx/commit/7917d52e59863f4cee91f08630f50a50121d0205 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp Log Message: ----------- Fix set_data when list storage mode is used Commit: 33b61872061066aed37c4613469b2fab86c832f3 https://github.com/STEllAR-GROUP/hpx/commit/33b61872061066aed37c4613469b2fab86c832f3 Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp Log Message: ----------- Reduce use of std::mutex by using a lockfree queue to store requests When a user makes an asynchronous MPI call, the call is executed inline and the MPI_Request is placed into a concurrent queue. When the hpx::mpi::poll function is next called, the request is popped off the queue and tested for completion. By not taking a lock when adding to the queue the code becomes non-blocking. Although we use a mutex to protect the poll function any thread that is unable to take the lock simply returns without waiting as there is no great need for multiple threads to poll concurrently. Commit: 09117f75fba190ad1d47b056764639d87de49d7f https://github.com/STEllAR-GROUP/hpx/commit/09117f75fba190ad1d47b056764639d87de49d7f Author: John Biddiscombe <biddi...@cscs.ch> Date: 2020-02-25 (Tue, 25 Feb 2020) Changed paths: M libs/mpi/include/hpx/mpi/mpi_future.hpp Log Message: ----------- Add init and finalize functions to simplify hpx::mpi polling setup Compare: https://github.com/STEllAR-GROUP/hpx/compare/5ded21a6cbbf...09117f75fba1 _______________________________________________ hpx-commits mailing list hpx-commits@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-commits