Skip to content

Commit 383d95d

Browse files
authored
Merge pull request #598 from JuliaHomotopyContinuation/replace-resize_nthreads!-(deprecated)
replace the resize_nthreads! function
2 parents a139eac + a27c34a commit 383d95d

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

src/monodromy.jl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,14 +1015,22 @@ function threaded_monodromy_solve!(
10151015
progress,
10161016
)
10171017
queue = Channel{LoopTrackingJob}(Inf)
1018-
Threads.resize_nthreads!(MS.trackers)
1018+
1019+
tracker = MS.trackers[1]
1020+
ntrackers = length(MS.trackers)
1021+
nthr = Threads.nthreads()
1022+
resize!(MS.trackers, nthr)
1023+
for i = ntrackers+1:nthr
1024+
MS.trackers[i] = deepcopy(tracker)
1025+
end
1026+
10191027
data_lock = ReentrantLock()
10201028
t₀ = time()
10211029
retcode = :in_progress
10221030
stats = MS.statistics
10231031
notify_lock = ReentrantLock()
10241032
cond_queue_emptied = Threads.Condition(notify_lock)
1025-
workers_idle = fill(true, Threads.nthreads())
1033+
workers_idle = fill(true, nthr)
10261034
interrupted = Ref(false)
10271035
queued = Ref(0)
10281036
try

src/solve.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,15 @@ function threaded_solve(
592592
started = Threads.Atomic{Int}(0)
593593
finished = Threads.Atomic{Int}(0)
594594
try
595-
Threads.resize_nthreads!(solver.trackers)
595+
tracker = solver.trackers[1]
596+
ntrackers = length(solver.trackers)
597+
nthr = Threads.nthreads()
598+
599+
resize!(solver.trackers, nthr)
600+
for i = ntrackers+1:nthr
601+
solver.trackers[i] = deepcopy(tracker)
602+
end
603+
596604
tasks = map(enumerate(solver.trackers)) do (i, tracker)
597605
@tspawnat i begin
598606
while (k = Threads.atomic_add!(started, 1) + 1) N && !interrupted

src/utils.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ function KeywordArgumentException(key, given)
149149
KeywordArgumentException(key, given, "")
150150
end
151151
function Base.showerror(io::IO, E::KeywordArgumentException)
152-
print(io, "Invalid argument $given for $key. ", E.msg)
152+
print(io, "Invalid argument $(E.given) for $(E.key). ", E.msg)
153153
end
154154

155155
struct FiniteException <: Exception

0 commit comments

Comments
 (0)