Command Line Arguments
kiseki should be run from Windows command prompt or Linux terminal.
Run kiseki on a Single Node
To run kiseki on a single node, you just need to give an input file name. You can redirect output to an arbitrary file.
$ kiseki water.inp > water.out
Some additional arguments can be given:
-n
Default: 1
.
Define the number of OpenMP threads for each MPI process. This should be less than the number of physical CPU cores of the node it is run on.
-s
Default: ./
Define the scratch path. kiseki will use this path to write some computational temporary files. It should be on a local, fast, and large disk instead of remote ones, like NFS shared paths.
For Windows users, the scratch path should be given in Linux format. For example, if the scratch path is D:\Jobs\Scratch
, then you should give -d D:/Jobs/Scratch
.
-m
Default: unlimited.
Define the maximum memory size in GB that a MPI process can use. For example, -m 5.5
means that each MPI process will use up to 5.5 GB of memory, no matter how many OpenMP threads there are. Of course, it should not exceed the total memory size of the node.
-d
Default: unlimited.
Define the maximum disk size in GB that a MPI process can use in the scratch path. For example, -d 900
means that each MPI process will use up to 900 GB of disk, no matter how many OpenMP threads there are. Of course, it should not exceed the total disk size in the scratch path.
For example, the following command will run kiseki with an input file water.inp
, the number of OpenMP threads is 8, maximum memory and disk size is 30 GB and 500 GB, respectively, and the scratch path is /scratch/zhang
:
$ kiseki water.inp -n 8 -m 30 -d 500 -s /scratch/zhang > water.out
Run kiseki on Multiple Nodes
Although it is possible to run kiseki directly with OpenMPI, we strongly recommend that you run it with a job scheduling system like Slurm or PBS.
When kiseki is run on multiple nodes, it should be guaranteed that there is only 1 MPI process on each node, and the parallelization on each node should be done with OpenMP threads.
Slurm
The following Slurm script will run kiseki on 8 nodes, each node having 24 OpenMP threads. The scratch path is set to /scratch
.
#!/bin/bash
#SBATCH -N 8
#SBATCH --cpus-per-task=24
#SBATCH --job-name=water
fn=water
mpirun kiseki ${fn}.inp -n $SLURM_CPUS_PER_TASK -s /scratch/ > ${fn}.out
PBS
The following PBS script will run kiseki on 8 nodes, each node having 24 OpenMP threads. The scratch path is set to /scratch
.
#!/bin/bash
TODOTODOTODOTODO