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

Reply via email to