@@ -8,8 +8,6 @@ import MemPool
88import MemPool: DRef, FileRef, poolget, poolset
99
1010import Base: collect, reduce
11- import Distributed
12- import Distributed: Future, RemoteChannel, myid, workers, nworkers, procs, remotecall, remotecall_wait, remotecall_fetch
1311
1412import LinearAlgebra
1513import LinearAlgebra: Adjoint, BLAS, Diagonal, Bidiagonal, Tridiagonal, LAPACK, LowerTriangular, PosDefException, Transpose, UpperTriangular, UnitLowerTriangular, UnitUpperTriangular, diagind, ishermitian, issymmetric
@@ -33,6 +31,17 @@ import TimespanLogging: timespan_start, timespan_finish
3331
3432import Adapt
3533
34+ # Preferences
35+ import Preferences: @load_preference , @set_preferences!
36+
37+ if @load_preference (" distributed-package" ) == " DistributedNext"
38+ import DistributedNext
39+ import DistributedNext: Future, RemoteChannel, myid, workers, nworkers, procs, remotecall, remotecall_wait, remotecall_fetch, check_same_host
40+ else
41+ import Distributed
42+ import Distributed: Future, RemoteChannel, myid, workers, nworkers, procs, remotecall, remotecall_wait, remotecall_fetch, check_same_host
43+ end
44+
3645include (" lib/util.jl" )
3746include (" utils/dagdebug.jl" )
3847
@@ -96,6 +105,21 @@ include("utils/logging-events.jl")
96105include (" utils/logging.jl" )
97106include (" utils/viz.jl" )
98107
108+ """
109+ set_distributed_package!(value[="Distributed|DistributedNext"])
110+
111+ Set a [preference](https://github.com/JuliaPackaging/Preferences.jl) for using
112+ either the Distributed.jl stdlib or DistributedNext.jl. You will need to restart
113+ Julia after setting a new preference.
114+ """
115+ function set_distributed_package! (value)
116+ MemPool. set_distributed_package! (value)
117+ TimespanLogging. set_distributed_package! (value)
118+
119+ @set_preferences! (" distributed-package" => value)
120+ @info " Dagger.jl preference has been set, restart your Julia session for this change to take effect!"
121+ end
122+
99123# Precompilation
100124import PrecompileTools: @compile_workload
101125include (" precompile.jl" )
0 commit comments