void runSimulation() { CellInitializer *init = new CellInitializer(256,256,30000); StripingSimulator<Cell> sim(init, MPILayer().rank() ? 0 : new NoOpBalancer()); int outputFrequency = 100; PPMWriter<Cell> *ppmWriter = 0; if (MPILayer().rank() == 0) { ppmWriter = new PPMWriter<Cell>( &Cell::temp, 0.0, 10.0, "gaussSeidel", outputFrequency, Coord<2>(1, 1)); } CollectingWriter<Cell> *ppmAdapter = new CollectingWriter<Cell>( ppmWriter); sim.addWriter(ppmAdapter); outputFrequency = 1000; sim.addWriter(new TracingWriter<Cell>(outputFrequency, init->maxSteps() )); sim.run(); }
int hpx_main() { { CellInitializer *init = new CellInitializer(); SimulatorType sim( init, std::vector<double>(1, 1.0), // number an relative speed of update groups new TracingBalancer(new OozeBalancer()), 100, // load balancing period 1 // ghost zone width ); // fixme // int outputFrequency = 1; // sim.addWriter( // new HpxWriterCollectorType( // sink // )); sim.addWriter( new TracingWriterType( 1, init->maxSteps(), 1)); sim.run(); } return hpx::finalize(); }
void runSimulation() { srand(1234); int outputFrequency = 1; CellInitializer *init = new CellInitializer(); SerialSimulator<Cell> sim(init); sim.addWriter( new PPMWriter<Cell>( &Cell::state, CellToColor(), "./ants", outputFrequency, Coord<2>(8, 8))); sim.addWriter( new AntTracer( outputFrequency, init->maxSteps())); sim.run(); }
void runSimulation() { int outputFrequency = 1; CellInitializer *init = new CellInitializer(); StripingSimulator<ConwayCell> sim( init, MPILayer().rank() ? 0 : new TracingBalancer(new OozeBalancer()), 10); sim.addWriter( new BOVWriter<ConwayCell>( Selector<ConwayCell>(&ConwayCell::alive, "alive"), "game", outputFrequency)); sim.addWriter( new TracingWriter<ConwayCell>( 1, init->maxSteps())); sim.run(); }
void runSimulation() { int outputFrequency = 100; int numSteps = 10000; int factor = pow(MPILayer().size(), 1.0 / 3.0); CellInitializer *init = new CellInitializer(factor, numSteps); HiParSimulator<Cell, RecursiveBisectionPartition<3> > sim( init, MPILayer().rank() ? 0 : new TracingBalancer(new NoOpBalancer()), numSteps, 1); if (MPILayer().rank() == 0) { sim.addWriter( new TracingWriter<Cell>(outputFrequency, init->maxSteps())); } sim.addWriter( new BOVWriter<Cell>( Selector<Cell>(&Cell::temp, "temperature"), "jacobi3d", outputFrequency)); #ifdef LIBGEODECOMP_WITH_VISIT VisItWriter<Cell> *visItWriter = 0; if (MPILayer().rank() == 0) { visItWriter = new VisItWriter<Cell>("jacobi", outputFrequency); visItWriter->addVariable(&Cell::temp, "temperature"); } sim.addWriter(new CollectingWriter<Cell>(visItWriter)); #endif sim.run(); }