hpx
hpx copied to clipboard
Addressing remaining Stdexec issues
Remaining issues
- HPX senders should replace tag-invocable tags with member functions, following the changes introduced in P2300R8.
- Some Stdexec algorithms use
std
synchronization primitives, which clash with HPX's (e.g.stdexec::run_loop
,this_thread::sync_wait
usestd::mutex
andstd::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. - The tests
algorithm_transform_mpi
andmpi_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 doreturn 0
so they are not marked as failing. This should be corrected too. - 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