pika
pika copied to clipboard
Attempt to use `condition_variable` to signal completion instead of callback in CUDA and MPI integrations
As pointed out by @biddisco an alternative way to signal completion in the CUDA and MPI integrations would be to have the receivers wait on a condition variable and have the polling loops signal that condition variable, instead of the current approach of running a continuation in the polling loop. This has the benefit of naturally preserving the scheduler context for continuations, and the downside of requiring that condition variable is waited for on a pika thread (not a problem in current use cases, but may limit its use in more generic contexts, i.e. on other schedulers).