File: BatchSystemDefault.lua

package info (click to toggle)
lmod 8.7.60-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 63,008 kB
  • sloc: sh: 6,266; makefile: 2,837; ansic: 1,513; tcl: 1,382; python: 1,050; csh: 112
file content (113 lines) | stat: -rw-r--r-- 3,456 bytes parent folder | download | duplicates (3)
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,
      },
   },
}