Skip to content
Projects
Latest release v0.1.0

mpiparticles

Per-rank marker storage with stable ids, and migration of the markers that leave a rank to the rank that owns them.

Particle store

Component-major positions, velocities, weights, alive flags and int64 ids on NumPy or CuPy, with growth, compaction, sorting and checkpoints.

Unique ids

An id allocator with a rank stride gives every marker a globally unique int64 id that survives migration.

Migration

Only the markers that left a rank are sent to their owner, with ids kept exact above 2^53. Serial runs make no MPI call.

Your decomposition

A small protocol says which rank owns a position; a box decomposition is included as a reference.