N.I.M.R.O.D.  
Functions/Subroutines | Variables

mpimod Module Reference

This module contains subroutines and variables to switch between sequentiel and parallel computing. More...

Functions/Subroutines

subroutine MPIinitialisation
 This subroutine initiate MPI use.
subroutine MPIfinalisation
 This subroutine finalize MPI use.
subroutine repartirSurCoeurs (debut, fin, nbpatient)
 This subroutine allocate each core some patients.
subroutine synchroFUNCPA
 This subroutine synchronize computed values in "funcpa".
subroutine synchroCALCULSCORES (uscore)
 This subroutine synchronize computed values in "CALCULSCORES".
subroutine MPIattente
 This subroutine synchronize make the cores wait for each other.
subroutine MPIErrorCatch (error)
 This subroutine catch errors in MPI synchronization and thus stop the program.
subroutine repartirSurCoeurs (debut, fin, nbpatient)
 This subroutine indicates that no MPI is available.
subroutine synchroCALCULSCORES (uscore)
 This subroutine have no impact on "CALCULSCORES" in sequentiel.

Variables

integer numproc = 0
integer nbprocs = 0
integer mpierr
integer, parameter MPIutilisation = 1

Detailed Description

This module contains subroutines and variables to switch between sequentiel and parallel computing.

Author:
Melanie Prague Daniel Commenges Julia Drylewicz Jeremy guedj Rodolphe Thiebaut 01/09/2012 - Prague - Refactoring

Function/Subroutine Documentation

subroutine mpimod::MPIattente ( )

This subroutine synchronize make the cores wait for each other.

This subroutine have no impact in sequentiel.

Definition at line 207 of file mpimod.mpi.f90.

References mpierr.

Referenced by nimrod().

Here is the caller graph for this function:

subroutine mpimod::MPIErrorCatch ( integer,intent(in)  error)

This subroutine catch errors in MPI synchronization and thus stop the program.

Definition at line 215 of file mpimod.mpi.f90.

References numproc.

Referenced by synchroCALCULSCORES(), and synchroFUNCPA().

Here is the caller graph for this function:

subroutine mpimod::MPIfinalisation ( )

This subroutine finalize MPI use.

This subroutine have no impact in sequentiel.

Definition at line 43 of file mpimod.mpi.f90.

References mpierr.

Referenced by nimrod().

Here is the caller graph for this function:

subroutine mpimod::MPIinitialisation ( )

This subroutine initiate MPI use.

This subroutine have no impact in sequentiel.

Definition at line 30 of file mpimod.mpi.f90.

References mpierr, nbprocs, and numproc.

Referenced by nimrod().

Here is the caller graph for this function:

subroutine mpimod::repartirSurCoeurs ( integer  debut,
integer  fin,
integer  nbpatient 
)

This subroutine indicates that no MPI is available.

Thus sequentiel mode must handle patient 1 to nbpatient.

Parameters:
[out]debut
[out]fin
[in]nbpatient

Definition at line 51 of file mpimod.seq.f90.

subroutine mpimod::repartirSurCoeurs ( integer,intent(out)  debut,
integer,intent(out)  fin,
integer,intent(in)  nbpatient 
)

This subroutine allocate each core some patients.

To illustrate, if 25 patients must be analyses by 3 cores then then : Core 1 -> 1 to 8 = 8 patients Core 1 -> 9 to 16 = 8 patients Core 1 -> 17 to 25 = 9 patients

Parameters:
[out]debut
[out]fin
[in]nbpatient

Definition at line 59 of file mpimod.mpi.f90.

References numproc.

Referenced by funcpa(), and scoreRVS().

Here is the caller graph for this function:

subroutine mpimod::synchroCALCULSCORES ( double precision,dimension(:),intent(inout)  uscore)

This subroutine have no impact on "CALCULSCORES" in sequentiel.

Definition at line 71 of file mpimod.seq.f90.

subroutine mpimod::synchroCALCULSCORES ( double precision,dimension(nbpatienta),intent(inout)  uscore)

This subroutine synchronize computed values in "CALCULSCORES".

Definition at line 165 of file mpimod.mpi.f90.

References mpierr, MPIErrorCatch(), nbprocs, WorkingSharedValues::scoreERROR, and WorkingSharedValues::scorePRECISION.

Referenced by scoreRVS().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mpimod::synchroFUNCPA ( )

This subroutine synchronize computed values in "funcpa".

This subroutine have no impact on "funcpa" in sequentiel.

Definition at line 79 of file mpimod.mpi.f90.

References WorkingSharedValues::detersauv, WorkingSharedValues::extrema, WorkingSharedValues::likelihoodERROR, WorkingSharedValues::likelihoodPRECISION, mpierr, MPIErrorCatch(), nbprocs, WorkingSharedValues::scaleinv2sauv, WorkingSharedValues::scaleinvsauv, WorkingSharedValues::scalesauv, WorkingSharedValues::startsauv, WorkingSharedValues::startsauvind, and WorkingSharedValues::vrais_obs.

Referenced by funcpa().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

integer mpimod::mpierr
integer parameter mpimod::MPIutilisation = 1

Definition at line 23 of file mpimod.mpi.f90.

Referenced by funcpa(), and scoreRVS().

integer parameter mpimod::nbprocs = 0
integer parameter mpimod::numproc = 0