Polyester.jl
Polyester.jl copied to clipboard
Fix 64+ threads support
in conjunction with this PR, this fixes the problems mentioned in #83.
However, from the simple tests I did, those fixes are not enough. Some results on a AMD EPYC 7763 (2x64 cores):
- rarely, iterations are dropped
- sometimes, sigsegv is raised at (I believe) compilation, the stacktraces seems random (when there is one). I have no idea why this can happen
- sometimes
@batchreliably works
This seems to be some issue with compilation or initialization, since in Julia sessions where the problems don't occur, they seem to never appear.
Here is my testing code (ran with julia -t 128):
julia> using Polyester
julia> tids = zeros(Int, Threads.nthreads());
julia> @batch per=thread for i in 1:Threads.nthreads()
tids[Threads.threadid()] += 1
end
julia> all(tids .== 1)
true
Codecov Report
Base: 88.46% // Head: 88.46% // No change to project coverage :thumbsup:
Coverage data is based on head (
026b028) compared to base (2926208). Patch coverage: 100.00% of modified lines in pull request are covered.
Additional details and impacted files
@@ Coverage Diff @@
## master #87 +/- ##
=======================================
Coverage 88.46% 88.46%
=======================================
Files 2 2
Lines 416 416
=======================================
Hits 368 368
Misses 48 48
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/batch.jl | 89.92% <100.00%> (ø) |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Thanks, I'll go ahead and merge this, and then try it out!