#include "header.h"
#include <sys/time.h>
#include <math.h>
#include <queue>
#include <unistd.h>
#include "../scheduling/Clock.h"
#include "DiagonalMsg.h"
#include "SparseMatrix.h"
#include "SparseMsg.h"
#include "../mpi/PostMaster.h"
#include "../shell/Shell.h"
Functions | |
void | speedTestMultiNodeIntFireNetwork (unsigned int size, unsigned int runsteps) |
void | mooseBenchmarks (unsigned int option) |
unsigned int | getNumCores () |
void | checkChildren (Id parent, const string &info) |
Id | init (int argc, char **argv, bool &doUnitTests, bool &doRegressionTests, unsigned int &benchmark) |
void | nonMpiTests (Shell *s) |
void | processTests (Shell *s) |
void | mpiTests () |
int | main (int argc, char **argv) |
Variables | |
bool | quitFlag = 0 |
void checkChildren | ( | Id | parent, | |
const string & | info | |||
) |
References Neutral::children(), Id::element(), Id::eref(), and Element::getName().
unsigned int getNumCores | ( | ) |
Referenced by getArgMap(), and init().
Id init | ( | int | argc, | |
char ** | argv, | |||
bool & | doUnitTests, | |||
bool & | doRegressionTests, | |||
unsigned int & | benchmark | |||
) |
Here we allow the user to override the automatic identification of processor configuration
Sets up the Elements that represent each class of Msg.
References Shell::adopt(), Eref::data(), Id::eref(), getNumCores(), Neutral::initCinfo(), Clock::initCinfo(), Shell::initCinfo(), Msg::initMsgManagers(), Shell::loadBalance(), Cinfo::makeCinfoElements(), Id::nextId(), quitFlag, Cinfo::rebuildOpIndex(), Shell::setHardware(), Shell::setShellElement(), and Id::value().
Referenced by benchmarkMsg(), Ksolve::initCinfo(), Gsolve::initCinfo(), moose::CompartmentBase::initCinfo(), main(), mtseed(), testAssortedMsg(), testCopyMsgOps(), testShellAddMsg(), and testSparseMatrix2().
int main | ( | int | argc, | |
char ** | argv | |||
) |
References Id::clearAllElements(), Msg::clearAllMsgs(), Element::data(), Shell::doQuit(), Shell::doSetClock(), Shell::doUseClock(), Id::element(), init(), Shell::keepLooping(), Shell::launchParser(), mooseBenchmarks(), mpiTests(), Shell::myNode(), nonMpiTests(), Shell::numNodes(), processTests(), and quitFlag.
void mooseBenchmarks | ( | unsigned int | option | ) |
Referenced by main().
void mpiTests | ( | ) |
These are tests that are MPI safe. They should also run properly on single nodes.
References testMpiBuiltins(), testMpiMsg(), testMpiScheduling(), and testMpiShell().
Referenced by main().
void nonMpiTests | ( | Shell * | s | ) |
These tests are meant to run on individual nodes, and should not invoke MPI calls. They should not be run when MPI is running. These tests do not use the threaded/MPI event loop and are the most basic of the set.
References Shell::myNode(), Shell::numCores(), Shell::numNodes(), Shell::setHardware(), testAsync(), testBiophysics(), testBuiltins(), testHSolve(), testKsolve(), testMesh(), testMsg(), testScheduling(), testShell(), and testSigNeur().
Referenced by main().
void processTests | ( | Shell * | s | ) |
These tests involve the threaded/MPI process loop and are the next level of tests.
References testBiophysicsProcess(), testBuiltinsProcess(), testSchedulingProcess(), and testSigNeurProcess().
Referenced by main().
void speedTestMultiNodeIntFireNetwork | ( | unsigned int | size, | |
unsigned int | runsteps | |||
) |