Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

Sequence of Invoking TT Routines

Computation of a transform using TT interface is conceptually divided into four steps, each of which is performed via a dedicated routine. Table
"TT Interface Routines"
lists the routines and briefly describes their purpose and use.
Most TT routines have versions operating with single-precision and double-precision data. Names of such routines begin respectively with "
s
" and "
d
". The wildcard "
?
" stands for either of these symbols in routine names.
TT Interface Routines
Routine
Description
Initializes basic data structures of Trigonometric Transforms.
Checks consistency and correctness of user-defined data and creates a data structure to be used by
Intel® oneAPI Math Kernel Library
FFT interface .
Computes a forward/backward Trigonometric Transform of a specified type using the appropriate formula (see Transforms Implemented).
Releases the memory used by a data structure needed for calling FFT interface .
1
TT routines call
Intel® oneAPI Math Kernel Library
FFT interface for better performance.
To find a transformed vector for a particular input vector only once, the
Intel® oneAPI Math Kernel Library
TT interface routines are normally invoked in the order in which they are listed inTable
"TT Interface Routines"
.
Though the order of invoking TT routines may be changed, it is highly recommended to follow the above order of routine calls.
The diagram in Figure
"Typical Order of Invoking TT Interface Routines"
indicates the typical order in which TT interface routines can be invoked in a general case (prefixes and suffixes in routine names are omitted).
Typical Order of Invoking TT Interface Routines
A general scheme of using TT routines for double-precision computations is shown below. A similar scheme holds for single-precision computations with the only difference in the initial letter of routine names.
... d_init_trig_transform(&n, &tt_type, ipar, dpar, &ir); /* Change parameters in ipar if necessary. */ /* Note that the result of the Transform will be in f. If you want to preserve the data stored in f, save it to another location before the function call below */ d_commit_trig_transform(f, &handle, ipar, dpar, &ir); d_forward_trig_transform(f, &handle, ipar, dpar, &ir); d_backward_trig_transform(f, &handle, ipar, dpar, &ir); free_trig_transform(&handle, ipar, &ir); /* here the user may clean the memory used by f, dpar, ipar */ ...
You can find examples of code that uses TT interface routines to solve one-dimensional Helmholtz problem in the
examples\pdettc\source
folderin your
Intel® oneAPI Math Kernel Library
directory.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804