Skip to content

Particle load-balancing on startup #4805

Open
@n01r

Description

@n01r

Certain setups, like laser solid density interactions, require very high numbers of particles and have very strongly localized density distributions.
It would be good have an option to load-balance the particles already before or during creation to avoid out-of-memory errors during initialization.

From meeting logs:

  • Perhaps precompute where particles need to be initialized?
  • With profiles / parsers, we currently do:
    • For a given GPU, go through cells, count how many particles go in each cell.
    • Then init in cells.
  • Challenge: we do the domain decomposition before we init the particles, so for very localized, dense-plasma targets we quickly run out of memory during init and have to use way more GPUs than we need for later sim.
  • Workflow to solve would be:
    • Store as before the number of particles that will go in each cell.
    • Build a cost function from that.
    • Redistribute blocks.
    • Init particles.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions