NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
Public Member Functions | List of all members
BiometricEvaluation::MPI::Runtime Class Reference

Runtime support for the startup/shutdown of MPI jobs. More...

#include <be_mpi_runtime.h>

Public Member Functions

 Runtime (int &argc, char **&argv, bool checkpointEnable=false)
 Construct the runtime environment for the processes making up the MPI job. More...
 
 ~Runtime ()
 
void start (BiometricEvaluation::MPI::Distributor &distributor, BiometricEvaluation::MPI::Receiver &receiver)
 Startup the runtime environment for the MPI job. More...
 
void shutdown ()
 Shutdown the runtime environment for the MPI job. More...
 
void abort (int errcode)
 Abort the runtime the MPI job. More...
 

Detailed Description

Runtime support for the startup/shutdown of MPI jobs.

This class provides methods that are used by applications to start and shutdown the MPI job. Each job consists of a single distributor of work, and 1..n receivers of work which then distribute the work packages to child processes to take action on the work package.

Definition at line 39 of file be_mpi_runtime.h.

Constructor & Destructor Documentation

◆ Runtime()

BiometricEvaluation::MPI::Runtime::Runtime ( int &  argc,
char **&  argv,
bool  checkpointEnable = false 
)

Construct the runtime environment for the processes making up the MPI job.

Whether to save a checkpoint on clean shutdown, and recover a checkpoint on startup, is optionally specified.

Parameters
[in]argcThe argument count, taken from the command line passed to main().
[in]argvThe argument vector, taken from the command line passed to main().
[in]checkpointEnableTrue indicates that a checkpoint should be saved on early shutdown and restored on startup, if the checkpoint data is present.. Checkpoints are implementation-defined by the Distributor classes.

◆ ~Runtime()

BiometricEvaluation::MPI::Runtime::~Runtime ( )

Member Function Documentation

◆ start()

void BiometricEvaluation::MPI::Runtime::start ( BiometricEvaluation::MPI::Distributor distributor,
BiometricEvaluation::MPI::Receiver receiver 
)

Startup the runtime environment for the MPI job.

Exceptions thrown by the Distributor or Recevier are caught and logged.

Parameters
[in]distributorThe Distributor object that will form the basis of the first MPI task.
[in]receiverThe Receiver object which will form the basis of MPI tasks 1..n.

◆ shutdown()

void BiometricEvaluation::MPI::Runtime::shutdown ( )

Shutdown the runtime environment for the MPI job.

This method must be called in order for the MPI runtime to cleanly exit.

◆ abort()

void BiometricEvaluation::MPI::Runtime::abort ( int  errcode)

Abort the runtime the MPI job.

This method will cause the MPI job to terminate immediately. All processes will end without the opportunity to save.

Parameters
[in]errocodeThe error code to return to the MPI runtime.

The documentation for this class was generated from the following file: