@@ -34,8 +34,8 @@ struct SSHManager <: ClusterManager
34
34
end
35
35
36
36
37
- function check_addprocs_args (kwargs)
38
- valid_kw_names = collect ( keys (default_addprocs_params () ))
37
+ function check_addprocs_args (manager, kwargs)
38
+ valid_kw_names = keys (default_addprocs_params (manager ))
39
39
for keyname in keys (kwargs)
40
40
! (keyname in valid_kw_names) && throw (ArgumentError (" Invalid keyword argument $(keyname) " ))
41
41
end
@@ -137,11 +137,23 @@ This timeout can be controlled via environment variable `JULIA_WORKER_TIMEOUT`.
137
137
The value of `JULIA_WORKER_TIMEOUT` on the master process specifies the number of seconds a
138
138
newly launched worker waits for connection establishment.
139
139
"""
140
- function addprocs (machines:: AbstractVector ; tunnel= false , multiplex= false , sshflags= ` ` , max_parallel= 10 , kwargs... )
141
- check_addprocs_args (kwargs)
142
- addprocs (SSHManager (machines); tunnel= tunnel, multiplex= multiplex, sshflags= sshflags, max_parallel= max_parallel, kwargs... )
140
+ function addprocs (machines:: AbstractVector ; kwargs... )
141
+ manager = SSHManager (machines)
142
+ check_addprocs_args (manager, kwargs)
143
+ addprocs (manager; kwargs... )
143
144
end
144
145
146
+ default_addprocs_params (:: SSHManager ) =
147
+ merge (default_addprocs_params (),
148
+ Dict {Symbol,Any} (
149
+ :ssh => " ssh" ,
150
+ :sshflags => ` ` ,
151
+ :shell => :posix ,
152
+ :cmdline_cookie => false ,
153
+ :env => [],
154
+ :tunnel => false ,
155
+ :multiplex => false ,
156
+ :max_parallel => 10 ))
145
157
146
158
function launch (manager:: SSHManager , params:: Dict , launched:: Array , launch_ntfy:: Condition )
147
159
# Launch one worker on each unique host in parallel. Additional workers are launched later.
@@ -426,8 +438,9 @@ processes on the local machine. If `restrict` is `true`, binding is restricted t
426
438
`enable_threaded_blas` have the same effect as documented for `addprocs(machines)`.
427
439
"""
428
440
function addprocs (np:: Integer ; restrict= true , kwargs... )
429
- check_addprocs_args (kwargs)
430
- addprocs (LocalManager (np, restrict); kwargs... )
441
+ manager = LocalManager (np, restrict)
442
+ check_addprocs_args (manager, kwargs)
443
+ addprocs (manager; kwargs... )
431
444
end
432
445
433
446
Base. show (io:: IO , manager:: LocalManager ) = print (io, " LocalManager()" )
0 commit comments