Creates and destroys the forward and backward FFT plans the way the
solver does, for the cell dimensions cdims, and for cuFFTMp also the
xtdesc buffer, each bracketed with cudaMemGetInfo. worksize_bytes is
the plan workspace (used only on the plain cuFFT path, in cuFFTMp it
is part of the heap), heap_bytes the memory the plans took,
xtdesc_bytes the xtdesc buffer. The 110 BC never uses cuFFTMp. stat is
the first non-zero cuFFT/CUDA code, or 0, and the other outputs are
then not valid. A plan that aborts inside the library never returns.
With query_only set, a cuFFTMp plan is made with auto-allocation off.
heap_bytes is then the plan memory without the workspace, worksize_bytes
the workspace of both plans (not allocated), xtdesc_bytes is zero and no
xtdesc buffer is allocated. A plain cuFFT plan is not changed by it.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.