optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed (Operator)
Name
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
— Optimize the runtime of the real-valued FFT.
Signature
Herror optimize_rft_speed(const Hlong Width, const Hlong Height, const char* Mode)
Herror T_optimize_rft_speed(const Htuple Width, const Htuple Height, const Htuple Mode)
Description
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
determines a method that achieves an
optimum runtime of the real-valued FFT for an image of size
WidthWidthWidthWidthwidthwidth
x HeightHeightHeightHeightheightheight
. The data that are
determined for one image size do not influence the methods used for
other image sizes. Consequently, optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
can be
called multiple times with different values for WidthWidthWidthWidthwidthwidth
and
HeightHeightHeightHeightheightheight
to achieve an optimum runtime for all image sizes
that are used in an application. The parameter ModeModeModeModemodemode
determines the thoroughness of the search for the fastest method.
For ModeModeModeModemodemode
= 'standard'"standard""standard""standard""standard""standard" a fast search is used,
which typically takes a few seconds. The method thus determined
results in very good runtimes, which are not always optimal. For
ModeModeModeModemodemode
= 'patient'"patient""patient""patient""patient""patient" a more thorough search is
performed, which typically takes several seconds and in most cases
leads to optimum runtimes. For ModeModeModeModemodemode
=
'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive" an exhaustive search is performed, which
typically takes several minutes and always results in the optimum
runtime. In most applications, ModeModeModeModemodemode
=
'standard'"standard""standard""standard""standard""standard" results in the best compromise between the
runtime of the real-valued FFT and the time required for the search
of the optimum runtime. The data determined with
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
can be saved with
write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationDataWriteFftOptimizationDatawrite_fft_optimization_data
and can be loaded with
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationDataReadFftOptimizationDataread_fft_optimization_data
.
Please note that this optimization is performed for the particular
computer on which the operator is called. The results are not suited to
be transferred and used on other computers unless they have the same
hardware and software configuration including the driver versions.
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
influences the runtime of
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
WidthWidthWidthWidthwidthwidth
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Width of the image for which the runtime should be
optimized.
Default value: 512
Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048
HeightHeightHeightHeightheightheight
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Height of the image for which the runtime should be
optimized.
Default value: 512
Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048
ModeModeModeModemodemode
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Thoroughness of the search for the optimum
runtime.
Default value:
'standard'
"standard"
"standard"
"standard"
"standard"
"standard"
List of values: 'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive", 'patient'"patient""patient""patient""patient""patient", 'standard'"standard""standard""standard""standard""standard"
Result
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
returns TRUE if all parameters are
correct. If necessary, an exception is raised.
Possible Successors
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
,
write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationDataWriteFftOptimizationDatawrite_fft_optimization_data
Alternatives
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationDataReadFftOptimizationDataread_fft_optimization_data
See also
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed
Module
Foundation