Mikael Simberg
Mikael Simberg
There are many levels of potential integration with the OpenMP runtime to avoid contention between pika's and OpenMP's runtime. The most simple would be to replace the loop spawning `std::thread`s...
The shared priority queue scheduler supports choosing how to schedule new tasks: round-robin or current thread. The default scheduler should support this as well.
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...
Assuming we don't require our own version for e.g. CUDA and the replacements actually work, we need to take care that the following don't get worse: - compile time -...
Currently, if the queue of pending threads is empty on a worker thread, `get_next_thread` returns, the scheduler goes to add new threads from the staged to pending threads, and then...
The sender/receiver CPOs currently use a helper base class to define fallback implementations with `tag_fallback_invoke`. The need for `tag_fallback_invoke` should be revisited and the CPO types should potentially be in...
The event polling has been successful and turned out to perform significantly better than using CUDA callbacks. However, that was tested when the CUDA callbacks still required runtime registration on...