RFC: Track queued FFTW thread count to aid profiling #235
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This demo tracks the number of queued FFTW threads (#234).
The idea being that it could be monitored in profiling tooling to identify poor balancing of
nthreads()
vs.FFTW.get_num_threads()
, for instance within aThreads.@threads for
loop.In a simple loop example like above, it should be pretty obvious to the user that they should balance
nthreads()
and FFTW threads.But in the case where FFTW is used deep inside a library function, it may not be obvious when FFTW is being used, and poor balancing might be impeding performance.
One idea might be to do a
@warn "..." maxlog=1
with advice about checking load balancing if significantly more queued FFTW threads are detected thanSys.CPU_THREADS
, but it seems@warn
doesn't work within a@cfunction
. It would probably be too opinionated though.