Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
MainMPI.cpp File Reference
#include <iostream>
#include <string>
#include <map>
#include <cstdio>
#include <cstring>
#include <ctime>
#include "config.h"
#include <csignal>
#include <cerrno>
#include <unistd.h>
#include <sys/wait.h>
#include <pthread.h>
#include <google/protobuf/stubs/common.h>
#include "core/Print.h"
#include "core/Exceptions.h"
#include "core/Types.h"
#include "core/Math.h"
#include "mpi/lm_mpi.h"
#include "io/lm_hdf5.h"
#include "io/SimulationFile.h"
#include "DiffusionModel.pb.h"
#include "ReactionModel.pb.h"
#include "io/SimulationParameters.h"
#include "core/CheckpointSignaler.h"
#include "core/DataOutputQueue.h"
#include "core/LocalDataOutputWorker.h"
#include "core/MPIRemoteDataOutputQueue.h"
#include "cmd/common.h"
#include "core/Globals.h"
#include "core/SignalHandler.h"
#include "core/ReplicateRunner.h"
#include "core/ResourceAllocator.h"
#include "SimulationParameters.pb.h"
#include "thread/Thread.h"
#include "thread/WorkerManager.h"
#include "lptf/Profile.h"
Include dependency graph for MainMPI.cpp:

Functions

void listDevicesMPI ()
void executeSimulationMPI ()
void executeSimulationMPISingleMaster ()
void executeSimulationMPISingleSlave ()
void broadcastSimulationParameters (void *staticDataBuffer, map< string, string > &simulationParameters)
void broadcastReactionModel (void *staticDataBuffer, lm::io::ReactionModel *reactionModel)
void broadcastDiffusionModel (void *staticDataBuffer, lm::io::DiffusionModel *diffusionModel, uint8_t *lattice, size_t latticeSize, uint8_t *latticeSites, size_t latticeSitesSize)
map< string, string > receiveSimulationParameters (void *staticDataBuffer)
void receiveReactionModel (void *staticDataBuffer, lm::io::ReactionModel *reactionModel)
void receiveDiffusionModel (void *staticDataBuffer, lm::io::DiffusionModel *diffusionModel, uint8_t **lattice, size_t *latticeSize, uint8_t **latticeSites, size_t *latticeSitesSize)
ReplicateRunnerstartReplicate (int replicate, MESolverFactory solverFactory, std::map< std::string, string > &simulationParameters, lm::io::ReactionModel *reactionModel, lm::io::DiffusionModel *diffusionModel, uint8_t *lattice, size_t latticeSize, uint8_t *latticeSites, size_t latticeSitesSize, ResourceAllocator &resourceAllocator)
ReplicateRunnerpopNextFinishedReplicate (list< ReplicateRunner * > &runningReplicates, ResourceAllocator &resourceAllocator)
int main (int argc, char **argv)

Variables

 PROF_ALLOC

Function Documentation

◆ broadcastDiffusionModel()

void broadcastDiffusionModel ( void * staticDataBuffer,
lm::io::DiffusionModel * diffusionModel,
uint8_t * lattice,
size_t latticeSize,
uint8_t * latticeSites,
size_t latticeSitesSize )
Here is the caller graph for this function:

◆ broadcastReactionModel()

void broadcastReactionModel ( void * staticDataBuffer,
lm::io::ReactionModel * reactionModel )
Here is the caller graph for this function:

◆ broadcastSimulationParameters()

void broadcastSimulationParameters ( void * staticDataBuffer,
map< string, string > & simulationParameters )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ executeSimulationMPI()

void executeSimulationMPI ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ executeSimulationMPISingleMaster()

void executeSimulationMPISingleMaster ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ executeSimulationMPISingleSlave()

void executeSimulationMPISingleSlave ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ listDevicesMPI()

void listDevicesMPI ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( int argc,
char ** argv )
Here is the call graph for this function:

◆ popNextFinishedReplicate()

ReplicateRunner * popNextFinishedReplicate ( list< ReplicateRunner * > & runningReplicates,
ResourceAllocator & resourceAllocator )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveDiffusionModel()

void receiveDiffusionModel ( void * staticDataBuffer,
lm::io::DiffusionModel * diffusionModel,
uint8_t ** lattice,
size_t * latticeSize,
uint8_t ** latticeSites,
size_t * latticeSitesSize )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveReactionModel()

void receiveReactionModel ( void * staticDataBuffer,
lm::io::ReactionModel * reactionModel )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveSimulationParameters()

map< string, string > receiveSimulationParameters ( void * staticDataBuffer)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ startReplicate()

ReplicateRunner * startReplicate ( int replicate,
MESolverFactory solverFactory,
std::map< std::string, string > & simulationParameters,
lm::io::ReactionModel * reactionModel,
lm::io::DiffusionModel * diffusionModel,
uint8_t * lattice,
size_t latticeSize,
uint8_t * latticeSites,
size_t latticeSitesSize,
ResourceAllocator & resourceAllocator )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ PROF_ALLOC

PROF_ALLOC