Skip to content

Phase 2

Kyle Marcus edited this page Feb 15, 2014 · 7 revisions

In this phase you are going to run the MPI code on the cluster, first compile and install the code. Note that you will need to modify the DEFINE statements at the top of the c++ code to point to your input files, you will also have to modify the install directory in the makefile if you are going to run the install target.

Note that debugging output is turned on by default, you can change this in the source code by defining the debug print DEFINE statement as 0. Note that the directory where debug files are created needs to be also set to your own directory. Every process will create a .debug text file that will contain the debug output for that process.

$ cd ~/emulator/src
$ make
$ make install

Go into your install directory and submit the slurm script to run the job. Note that you will have to modify some of the variables inside the slurm script.

MAKE SURE YOU TURN DEBUG OFF FOR LARGE SAMPLES IF YOUR RUNNING ON THE CLUSTER

$ cd /panasas/scratch/kmarcus2/emulator/run
$ sbatch emulator.slurm

There are also command line arguments that you can set to test the code on the head node. Note that there are default vales for each argument so you only need to specify the ones that you want to change.

$ mpirun -np 1 ./final_emulator_fork --help
  Options:
    --help                         Help message
    --radius arg (=100)            Radius of neighbour search for spatial points
    --ndim arg (=4)                Number of dimensions - parametric
    --procPerGroup arg (=32)       Number of processors in a group
    --sims arg (=2048)             Number of Titan simulations
    --macroScaledRadius arg (=0.2) Radius of search for macro-parameters
    --covarNeighbours arg (=120)   Number of neighbours needed to be considered 
                                   for setting up co-variance matrix. should be <
                                   500
    --netezzaBuff arg (=800)       Number of emulator constructions after which 
                                   data is piped to Netezza
    --spatialNeighbours arg (=10)  Number of neighbours for a spatial point. for 
                                   10 points or less 
    --mergeCount arg (=200)        Merge count
    --mergeSafe arg (=25)          Merge safe
    --NewtonIter arg (=10)         Newton Iterations

Clone this wiki locally