@@ -34,8 +34,8 @@ struct SSHManager <: ClusterManager
3434end
3535
3636
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 ))
3939 for keyname in keys (kwargs)
4040 ! (keyname in valid_kw_names) && throw (ArgumentError (" Invalid keyword argument $(keyname) " ))
4141 end
@@ -137,11 +137,23 @@ This timeout can be controlled via environment variable `JULIA_WORKER_TIMEOUT`.
137137The value of `JULIA_WORKER_TIMEOUT` on the master process specifies the number of seconds a
138138newly launched worker waits for connection establishment.
139139"""
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... )
143144end
144145
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 ))
145157
146158function launch (manager:: SSHManager , params:: Dict , launched:: Array , launch_ntfy:: Condition )
147159 # 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
426438`enable_threaded_blas` have the same effect as documented for `addprocs(machines)`.
427439"""
428440function 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... )
431444end
432445
433446Base. show (io:: IO , manager:: LocalManager ) = print (io, " LocalManager()" )
0 commit comments