pika icon indicating copy to clipboard operation
pika copied to clipboard

pika builds on C++ std::execution with fiber, CUDA, HIP, and MPI support.

Results 144 pika issues
Sort by recently updated
recently updated
newest added

E.g. https://github.com/eth-cscs/DLA-Future/blob/6518755e2f44838b75a9b130c8f3c249f6847b34/include/dlaf/matrix/tile.h#L434-L437. In the example the value sent by the input sender is not copyable, the value sent by the sender returned by the `let_value` callable is copyable (through `async_rw_mutex`),...

effort: 3
priority: low
type: feature
type: bug
category: senders/receivers

On segfaults, hangs (which get terminated with Ctrl-C), etc. APEX output currently doesn't get written to a file. Investigate if it's possible to somehow make it eagerly flush the output....

effort: 3
priority: low
type: feature

Possibly useful for debugging deadlocks, assuming appropriate annotations are set. We already have a way to print threads, but no way to ask for it as an end-user, except by...

effort: 3
priority: low
type: feature

While adding support for NVHPC parts of the `scheduler_executor` test fail in release mode (https://cdash.cscs.ch/viewTest.php?onlyfailed&buildid=74288): ``` /dev/shm/pika/src/libs/pika/executors/tests/unit/scheduler_executor.cpp(154): test 'executed' failed in function 'void test_bulk_async_void(Executor &&) [with Executor = pika::execution::experimental::scheduler_executor &]'...

effort: 5
priority: low
type: bug

While adding support for NVHPC the `unicode` test in the program options module fails in release mode (https://cdash.cscs.ch/test/72765940): ``` terminate called after throwing an instance of 'std::logic_error' what(): character conversion...

effort: 5
priority: low
type: bug

effort: 3
priority: low
type: refactoring
category: senders/receivers

effort: 2
effort: 3
priority: low
type: cleanup

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...

effort: 3
effort: 4
priority: low
type: feature
type: refactoring

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.

effort: 3
priority: low
type: feature

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...

effort: 3
priority: low
type: refactoring
category: CUDA
category: senders/receivers