hpx icon indicating copy to clipboard operation
hpx copied to clipboard

Addressing remaining Stdexec issues

Open isidorostsa opened this issue 6 months ago • 1 comments

Remaining issues

  1. HPX senders should replace tag-invocable tags with member functions, following the changes introduced in P2300R8.
  2. Some Stdexec algorithms use std synchronization primitives, which clash with HPX's (e.g. stdexec::run_loop, this_thread::sync_wait use std::mutex and std::condition_variable. This causes some tests to deadlock. Thanks to @zhekemist for identifying this! The following commit fixed a bug caused by this interaction: https://github.com/STEllAR-GROUP/hpx/pull/6431/commits/d06c9ad13aca0ed38e77e08fa2664290389fbc4e.
  3. The tests algorithm_transform_mpi and mpi_ring_async_executor have been disabled due to issue # 2 highlighted above. Other tests may be failing too, but it was noticed that there are MPI tests that fail but do return 0 so they are not marked as failing. This should be corrected too.
  4. Code and build system need testing on Windows and macOS beyond CI.

Due to these issues, Stdexec won't be enabled by default. To activate there needs to be an explicit definition: HPX_WITH_STDEXEC=ON

isidorostsa avatar Aug 23 '24 18:08 isidorostsa