@@ -19,15 +19,16 @@ function __set_io_path(spec::FluxRM.JobSpec.Jobspec, iotype, name, path)
19
19
io[" path" ] = path
20
20
end
21
21
22
- function juliaspec (args, dir; num_nodes= 1 , num_tasks_per_node= 6 , cores_per_task= 6 )
22
+ function juliaspec (args, dir; num_nodes= 1 , num_tasks_per_node= 8 , cores_per_task= 1 )
23
23
num_tasks = num_nodes* num_tasks_per_node
24
24
cmd = ` $(Base. julia_cmd ()) $(args) `
25
25
jobspec = FluxRM. JobSpec. from_command (cmd; num_nodes, num_tasks, cores_per_task)
26
26
system = jobspec. attributes. system
27
27
system. cwd = dir
28
28
system. environment = Dict (
29
- " JULIA_PROJECT" => dir,
30
- " OPENBLAS_NUM_THREADS" => " 8" # HyperThreads
29
+ " JULIA_PROJECT" => dir,
30
+ " JULIA_NUM_THREADS" => cores_per_task,
31
+ " JULIA_EXCLUSIVE" => 1
31
32
)
32
33
__set_io_path (jobspec, " output" , " stderr" , " flux-{{id}}.err" )
33
34
__set_io_path (jobspec, " output" , " stdout" , " flux-{{id}}.out" )
@@ -50,16 +51,16 @@ function nodes()
50
51
end
51
52
52
53
const N = nodes ()
54
+ const workdir = realpath (joinpath (@__DIR__ , " .." , " examples" ))
53
55
54
- let flux = Flux ()
56
+ @info " Launching Jobs in " workdir
55
57
58
+ let flux = Flux ()
56
59
for i in 0 : floor (Int,log2 (N))
57
60
n = 2 ^ i
58
- for psize in (20 ,)
59
- jobspec = juliaspec (` -L setup.jl experiment.jl $psize ` , realpath (" experiment" ), num_nodes= n)
60
- sub = FluxRM. submit (flux, jobspec)
61
- job = FluxRM. Job (sub)
62
- @info " Launched" jobid = FluxRM. encode (job) n psize
63
- end
61
+ jobspec = juliaspec (` benchmark.jl -s 45` , workdir, num_nodes= n)
62
+ sub = FluxRM. submit (flux, jobspec)
63
+ job = FluxRM. Job (sub)
64
+ @info " Launched" jobid = FluxRM. encode (job) n
64
65
end
65
66
end
0 commit comments