-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Polyester makes FFTW slower #63
Comments
This is probably the usual problem of Polyester not playing well with base threads, given that FFTW seems to use them JuliaMath/FFTW.jl#105 Does the second |
No thats way I make two calls. Its just the first that is affected. |
That's what I expected. (Note that partr threads do the same thing, but the tasks Polyester runs on do run on these threads, so the interference is only one way.) You could try reducing the amount of time ThreadingUtiltie's threads spend working: But, I think you should use Of course, you might be running many |
Thanks a lot for the explanation. Then I stick with Note that I am writing a pure Julia version of an established C-library and benchmark them against each other. While the implementations are not exactly the same this is a nice playground for multi-threaded Julia high-performance computing. |
I think I could add a function that puts them all to sleep. |
That sounds interesting. Calling it manually would be no problem. If you could provide that, I could do a benchmark of both versions and report back |
There is now a |
Hi Chris,
I have tracked down a multi-threading performance issue and am now at a point where I am sure that Polyester is the cause (or my usage of Polyester).
I put together an MWE. One needs to dev
NFFT
and then executehttps://github.com/JuliaMath/NFFT.jl/blob/master/benchmark/performance_issue_mt.jl
with
julia -t 32
(or less).What basically happens is that I have a Polyester threaded loop and afterwards call a threaded FFT. Now what happens is that the threaded Julia code makes the FFTW call slower. In my setting the FFT was slowed down by a factor of 5. Now what's interesting: If I switch from
@batch
toThreads.@threads
then I have no performance issue.To toggle between both version one need to change this line: https://github.com/JuliaMath/NFFT.jl/blob/master/src/utils.jl#L6
and restart Julia. I hope this description is sufficient.
The text was updated successfully, but these errors were encountered: