cannam@95: cannam@95: cannam@95: How Many Threads to Use? - FFTW 3.3.3 cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95: cannam@95:
cannam@95: cannam@95: cannam@95:

cannam@95: Next: , cannam@95: Previous: Usage of Multi-threaded FFTW, cannam@95: Up: Multi-threaded FFTW cannam@95:


cannam@95:
cannam@95: cannam@95:

5.3 How Many Threads to Use?

cannam@95: cannam@95:

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

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

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