Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
Main-MPMPD.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 "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 "me/MESolverFactory.h"
#include "rdme/RDMESolver.h"
Include dependency graph for Main-MPMPD.cpp:

Classes

class  ReplicateRunner
 A thread that launches all the various replicates requested. More...
class  ResourceAllocator
 An object that tracks the available resources for the main simulation runner. More...
class  MESolverFactory
 A factory object used to create Master Equation simulation instances. More...
class  PthreadException
 An Exception class for handling pthread exceptions. More...

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)
int runReplicateNOW (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)
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:

◆ 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:

◆ runReplicateNOW()

int runReplicateNOW ( 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