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

Later versions of stdexec support both `tag_invoke` and member functions, but the standard will use member functions only. We should try to migrate all schedulers and sender adaptors to use...

effort: 3
effort: 4
priority: medium
type: refactoring
category: senders/receivers
type: cleanup

https://github.com/pika-org/pika/pull/1202 disabled static libraries in the APEX CI configuration because it had issues. Investigate if this is an APEX or pika problem.

effort: 3
priority: low
type: bug
category: CI
category: external

We were only building for arm64 but not runnning anything. This enables 2 pipelines on santis.

category: CI

Once Piz Daint is no longer operational I think we can drop official support for GCC 9 and 10 (GCC 11 we want to keep for CUDA 11 support). We...

effort: 2
priority: medium
category: documentation
category: CI
type: cleanup

Apparently cmake-format also comes with a cmake-lint command (https://cmake-format.readthedocs.io/en/latest/cmake-lint.html). We should try it and see if it's useful for improving our CMake scripts.

effort: 3
priority: low
type: feature
category: CMake
good first issue

We should test if running the MPI/CUDA polling in standalone tasks works as well as integrating the polling in the scheduler. This would make the polling independent of the scheduler...

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

Currently only a single or zero values are allowed to be passed from the predecessor sender (https://github.com/pika-org/pika/blob/d48a0d5bd73eb75c44562c8f6ef9f201798d5780/libs/pika/async_cuda/include/pika/async_cuda/cuda_scheduler_bulk.hpp#L126-L129). I think this could easily be generalized by collecting arguments into a tuple,...

effort: 2
effort: 3
priority: low
type: feature
type: refactoring
category: CUDA
category: senders/receivers
good first issue

We currently use a spinlock pool for all `thread_data` locks. The default size of the pool is 128 locks. With large CPUs like the Grace 72-core CPUs, the default may...

effort: 3
priority: low
type: refactoring
category: performance tests
category: CMake

Assuming there are no downsides, consider enabling it by default. May need some investigation of potential impact on performance.

effort: 3
priority: low
type: feature
category: CMake