Newer
Older
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
--[[
Example lua script demonstrating the SLURM job_submit/lua interface.
This is only an example, not meant for use in its current form.
Leave the function names, arguments, local varialbes and setmetatable
set up logic in each function unchanged. Change only the logic after
the lSUCCESSine containing "*** YOUR LOGIC GOES BELOW ***".
For use, this script should be copied into a file name "job_submit.lua"
in the same directory as the SLURM configuration file, slurm.conf.
--]]
function slurm_job_submit(job_desc, part_list, submit_uid)
-- Check no default account
if job_desc.account == "default" then
slurm.log_user("You have to specify your project ID as part of your job submission. The account=default is now deprecated on M3 job scheduler.")
return slurm.ERROR
end
-- Check Desktop requests with more than one node
if ((job_desc.name == "desktop") and (job_desc.min_nodes > 1 )) then
slurm.log_user("The current M3 Desktop applications are unable to utilise more than one node, please select one node instead")
return slurm.ERROR
end
-- Check for gres.gpu requirements in m3c, m3h and m3g, else move job to comp
if ((job_desc.partition == "m3c" ) or (job_desc.partition == "m3h" ) or (job_desc.partition == "m3g" )) then
local partition = ""
if (job_desc.gres == nil) then
partition = "comp"
slurm.log_info("slurm_job_submit: for user: %u, partition: %s", submit_uid, partition)
job_desc.partition = partition
end
return slurm.SUCCESS
end
-- Check for QOS rtq in m3c, m3h , m3g and partition=nil, then forward job to rtqp,comp,m3g
if ((job_desc.qos == "rtq") and (job_desc.partition == nil)) then
local partition = ""
partition = "rtqp,comp,m3g"
slurm.log_info("slurm_job_submit: for user: %u, partition: %s", submit_uid, partition)
job_desc.partition = partition
return slurm.SUCCESS
end
end
function slurm_job_modify(job_desc, job_rec, part_list, modify_uid)
return slurm.SUCCESS
end
slurm.log_info("initialized")
return slurm.SUCCESS