Mikael Simberg

Results 232 issues of Mikael Simberg

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

We currently have wrappers for streams, handles, etc. but not one for events. We should add one.

effort: 2
priority: low
type: refactoring
type: cleanup
good first issue

Currently the stackful `thread_data` struct is very large and likely has room for optimization. Related: https://github.com/pika-org/pika/issues/304.

effort: 3
effort: 4
priority: medium
type: refactoring

While for testing the current bitmask passed to `PIKA_MPI_COMPLETION_MODE` is convenient, the values are not very transparent to a user setting the values. It'd be nice to split up the...

effort: 3
priority: high
type: refactoring
category: senders/receivers
type: cleanup

We should set it to something that performs reasonably well, while providing a "safety" in terms of running continuations in new tasks etc.

effort: 3
priority: high
type: feature
category: senders/receivers
type: cleanup

Testing what effect this has on performance. The hope is to have less variance, but given that we don't pass/fail PRs based on these results, it may not be necessary...