Polyester.jl icon indicating copy to clipboard operation
Polyester.jl copied to clipboard

Fix 64+ threads support

Open Keluaa opened this issue 3 years ago • 1 comments

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 @batch reliably 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

Keluaa avatar Aug 03 '22 13:08 Keluaa

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.

codecov[bot] avatar Aug 03 '22 19:08 codecov[bot]

Thanks, I'll go ahead and merge this, and then try it out!

chriselrod avatar Aug 31 '22 16:08 chriselrod