1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
BatchSystems = {
INTERACTIVE = {
default = {
submitHeader = "",
mprCmd = "mpirun -np $(NP) $(CMD) $(CMD_ARGS)",
CurrentWD = ".",
maxCoresPerNode = 1,
submitCmd = "",
queueTbl = {},
},
},
SGE = {
default = {
submitHeader= [[
#$ -V
#$ -cwd
#$ -N $(JOBNAME)
#$ -A $(ACCOUNT)
#$ -pe $(NPway NP=$(NP) NODES=$(NODES) WAY=$(WAY))
#$ -q $(QUEUE)
#$ -l h_rt=$(TIME)
]],
mprCmd = "ibrun $(CMD) $(CMD_ARGS)",
submitCmd = "qsub ",
queueTbl = {short="development", medium="normal", long="long", systest="systest"},
CurrentWD = ".",
maxCoresPerNode = 1,
NODES = -1,
WAY = -1,
NPway = function(tbl, envTbl, funcTbl)
local batchTbl = funcTbl.batchTbl
local np = tonumber(tbl.NP) or -1
local npWay
local maxWay = batchTbl.maxCoresPerNode
local userWay = tonumber(tbl.WAY) or -1
local way
if (userWay > 0 ) then
way = userWay
else
way = batchTbl.maxCoresPerNode
end
local nNodes = -1
local userNodes = tonumber(tbl.NODES) or -1
if (userNodes > 0) then
nNodes = userNodes
end
if (nNodes > 0) then
npWay = tostring(way) .. "way " .. tostring(nNodes*maxWay)
elseif (np <= maxWay and way == maxWay) then
npWay = tostring(np) .. "way " .. maxWay
else
nNodes = math.ceil(np/way)
npWay = way .. "way " .. tostring(nNodes*maxWay)
end
return npWay
end,
}
},
LSF = {
default =
{
submitHeader= [[
#BSUB -J $(JOBNAME)
#BSUB -q $(QUEUE)
#BSUB -W $(TIME)
#BSUB -o $(LOGNAME)
#BSUB -W $(TIME)
#BSUB -n $(NP)
]],
mprCmd = "ibrun $(CMD) $(CMD_ARGS)",
submitCmd = "bsub < ",
CurrentWD = "$LS_SUBCWD",
maxCoresPerNode = 1,
},
},
SLURM = {
default =
{
submitHeader= [[
#SBATCH -J $(JOBNAME)
#SBATCH -o $(LOGNAME)
#SBATCH -p $(QUEUE)
#SBATCH -N $(NODES)
#SBATCH -n $(NP)
#SBATCH -t $(TIME)
#SBATCH -A $(ACCOUNT)
]],
mprCmd = "ibrun $(CMD) $(CMD_ARGS)",
submitCmd = "sbatch ",
CurrentWD = ".",
maxCoresPerNode = 1,
},
},
PBS = {
default =
{
submitHeader= [[
#PBS -N $(JOBNAME)
#PBS -A $(ACCOUNT)
#PBS -q $(QUEUE)
#PBS -o $(LOGNAME)
#PBS -l walltime="$(TIME)"
#PBS -l size="$(NP)"
#PBS -j oe
]],
mprCmd = "aprun -n $(NP) $(CMD) $(CMD_ARGS)",
submitCmd = "qsub ",
CurrentWD = "$PBS_O_WORKDIR",
maxCoresPerNode = 1,
},
},
}
|