#include <sstream>
#include <iomanip>
+#include <cstring>
+#ifndef MPI_DISABLED
#include <mpi.h>
+#endif
#include "latlib/progress.h"
comargs.idonly = false;
comargs.showjobnum = false;
+#ifndef MPI_DISABLED
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+#else
+ numprocs = 1;
+ rank = 0;
+#endif
addComOption("lsize", required_argument, NULL, 'L', "define lattice size", "xsize:tsize");
addComOption("nmeas", required_argument, NULL, 'N', "set number of measurements", "nmeas");
if(rank==0) {
timestamp = time(NULL);
+#ifndef MPI_DISABLED
for(int idest=1; idest<numprocs; idest++)
MPI_Send(×tamp, 1, MPI_LONG, idest, 123, MPI_COMM_WORLD);
+#endif
}
+#ifndef MPI_DISABLED
else if(rank>0)
MPI_Recv(×tamp, 1, MPI_LONG, 0, 123, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
-
+#endif
+
out = new writeout(comargs.outdir, programid+headMaster(), rank, numprocs, timestamp);
}
o815::~o815() {
if(comargs.outdir=="") {
+#ifndef MPI_DISABLED
MPI_Barrier(MPI_COMM_WORLD);
+#endif
if(rank==0)
cout << "#end" << endl << flush;
}
hypercache::finalize();
delete out;
+#ifndef MPI_DISABLED
MPI_Finalize();
+#endif
}
int o815::nextParas()