cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: FFTW 3.3.5: How Many Threads to Use? cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: cannam@127:
cannam@127:

cannam@127: Next: , Previous: , Up: Multi-threaded FFTW   [Contents][Index]

cannam@127:
cannam@127:
cannam@127: cannam@127:

5.3 How Many Threads to Use?

cannam@127: cannam@127: cannam@127:

There is a fair amount of overhead involved in synchronizing threads, cannam@127: so the optimal number of threads to use depends upon the size of the cannam@127: transform as well as on the number of processors you have. cannam@127:

cannam@127:

As a general rule, you don’t want to use more threads than you have cannam@127: processors. (Using more threads will work, but there will be extra cannam@127: overhead with no benefit.) In fact, if the problem size is too small, cannam@127: you may want to use fewer threads than you have processors. cannam@127:

cannam@127:

You will have to experiment with your system to see what level of cannam@127: parallelization is best for your problem size. Typically, the problem cannam@127: will have to involve at least a few thousand data points before threads cannam@127: become beneficial. If you plan with FFTW_PATIENT, it will cannam@127: automatically disable threads for sizes that don’t benefit from cannam@127: parallelization. cannam@127: cannam@127:

cannam@127: cannam@127: cannam@127: cannam@127: cannam@127: