Skip to content

New feature: Allow QuEST to use a user-provided MPI_Comm #712

@otbrown

Description

@otbrown

This is largely for my own nefarious purposes, but is possibly useful to anyone seeking to simulate a hybrid quantum-classical application which is non-trivially parallelised. This functionality allows the user to define a separate MPI communicator for QuEST and avoid resource contention between simultaneous QuEST and non-QuEST parts of the program.

This shouldn't be too difficult to implement, but the interface might require a bit of thought, and in particular an elegant way to distinguish when finalizeQuESTEnv() should and should not also finalise MPI could be tricky.

Requirements:

  • User should be able to provide an MPI_Comm at initialisation which QuEST will use exclusively.
  • finalizeQuESTEnv should not necessarily finalise MPI.
  • Tests should be written for all new functionality.
  • Should not break existing codes therefore original QuESTEnv interface should be preserved, and should default to MPI_COMM_WORLD.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions