Documentation for module swarm_mpi

Handles the MPI communication of the swarm framework.

source: swarm_mpi.F
Loading...

public Types:

swarm_mpi_type
...

public Subroutines/Functions:

Finalizes the MPI communicators of a swarm run.
Initialize MPI communicators for a swarm run.
Receives a command via MPI and broadcasts it within a worker.
Receives a report via MPI
Sends a command via MPI
Sends a report via MPI

public Types:

TYPE :: swarm_mpi_type

...


POINTER :: world => NULL() ...
POINTER :: worker => NULL() ...
POINTER :: master => NULL() ...
INTEGER,
DIMENSION(:), ALLOCATABLE :: wid2group ...
:: master_output_path = "" ...

SUBROUTINEswarm_mpi_finalize(swarm_mpi, root_section)

Finalizes the MPI communicators of a swarm run.

Arguments:
:: swarm_mpi ...
POINTER
:: root_section ...

SUBROUTINEswarm_mpi_init(swarm_mpi, world_para_env, root_section, n_workers, worker_id, iw)

Initialize MPI communicators for a swarm run.

Arguments:
:: swarm_mpi ...
POINTER
:: world_para_env ...
POINTER
:: root_section ...
INTEGER,
INTENT(in)
:: n_workers ...
INTEGER,
INTENT(out)
:: worker_id ...
INTEGER,
INTENT(in)
:: iw ...

SUBROUTINEswarm_mpi_recv_command(swarm_mpi, cmd)

Receives a command via MPI and broadcasts it within a worker.

Arguments:
:: swarm_mpi ...
INTENT(out)
:: cmd ...

SUBROUTINEswarm_mpi_recv_report(swarm_mpi, report)

Receives a report via MPI

Arguments:
:: swarm_mpi ...
INTENT(out)
:: report ...

SUBROUTINEswarm_mpi_send_command(swarm_mpi, cmd)

Sends a command via MPI

Arguments:
:: swarm_mpi ...
:: cmd ...

SUBROUTINEswarm_mpi_send_report(swarm_mpi, report)

Sends a report via MPI

Arguments:
:: swarm_mpi ...
:: report ...