tfft.FftwPlanningRigor

class FftwPlanningRigor(value)

Bases: enum.IntEnum

Represents the planning rigor for the FFTW library.

Controls the rigor (and time) of the FFTW planning process. More rigorous planning takes longer the first time nufft is called, but may result in faster execution during subsequent calls of similar transforms.

  • AUTO: Selects the planning rigor automatically. Currently defaults to MEASURE.

  • ESTIMATE: specifies that, instead of actual measurements of different algorithms, a simple heuristic is used to pick a (probably sub-optimal) plan quickly.

  • MEASURE: tells FFTW to find an optimized plan by actually computing several FFTs and measuring their execution time. Depending on your machine, this can take some time (often a few seconds).

  • PATIENT: like MEASURE, but considers a wider range of algorithms and often produces a “more optimal” plan (especially for large transforms), but at the expense of several times longer planning time (especially for large transforms).

  • EXHAUSTIVE: like PATIENT, but considers an even wider range of algorithms, including many that we think are unlikely to be fast, to produce the most optimal plan but with a substantially increased planning time.