hipfftmakeplanmany Interface Reference

hipfftmakeplanmany Interface Reference#

HIPFORT API Reference: hipfort_hipfft::hipfftmakeplanmany Interface Reference
hipfort_hipfft::hipfftmakeplanmany Interface Reference

Initialize a new batched rank-dimensional FFT plan with advanced data layout. More...

Public Member Functions

integer(kind(hipfft_success)) function hipfftmakeplanmany_ (plan, rank, n, inembed, istride, idist, onembed, ostride, odist, mytype, batch, worksize)
 
integer(kind(hipfft_success)) function hipfftmakeplanmany_rank_0 (plan, rank, n, inembed, istride, idist, onembed, ostride, odist, mytype, batch, worksize)
 
integer(kind(hipfft_success)) function hipfftmakeplanmany_rank_1 (plan, rank, n, inembed, istride, idist, onembed, ostride, odist, mytype, batch, worksize)
 

Detailed Description

Initialize a new batched rank-dimensional FFT plan with advanced data layout.

Assumes that the plan has been created already, and modifies the plan associated with the plan handle. The number of elements to transform in each direction of the input data in the FFT plan is specified in n.

The batch parameter tells hipFFT how many transforms to perform. The distance between the first elements of two consecutive batches of the input and output data are specified with the idist and odist parameters.

The inembed and onembed parameters define the input and output data layouts. The number of elements in the data is assumed to be larger than the number of elements in the transform. Strided data layouts are also supported. Strides along the fastest direction in the input and output data are specified via the istride and ostride parameters.

If both inembed and onembed parameters are set to NULL, all the advanced data layout parameters are ignored and reverted to default values, i.e., the batched transform is performed with non-strided data access and the number of data/transform elements are assumed to be equivalent.

Parameters
[out]plan- Pointer to the FFT plan handle.
[in]rank- Dimension of transform (1, 2, or 3).
[in]n- Number of elements to transform in the x/y/z directions.
[in]inembed- Number of elements in the input data in the x/y/z directions.
[in]istride- Distance between two successive elements in the input data.
[in]idist- Distance between input batches.
[in]onembed- Number of elements in the output data in the x/y/z directions.
[in]ostride- Distance between two successive elements in the output data.
[in]odist- Distance between output batches.
[in]myType- FFT type.
[in]batch- Number of batched transforms to perform.
[out]workSize- Pointer to work area size (returned value).

Member Function/Subroutine Documentation

◆ hipfftmakeplanmany_()

integer(kind(hipfft_success)) function hipfort_hipfft::hipfftmakeplanmany::hipfftmakeplanmany_ ( type(c_ptr), value  plan,
integer(c_int), value  rank,
type(c_ptr), value  n,
type(c_ptr), value  inembed,
integer(c_int), value  istride,
integer(c_int), value  idist,
type(c_ptr), value  onembed,
integer(c_int), value  ostride,
integer(c_int), value  odist,
integer(kind(hipfft_r2c)), value  mytype,
integer(c_int), value  batch,
integer(c_size_t)  worksize 
)

◆ hipfftmakeplanmany_rank_0()

integer(kind(hipfft_success)) function hipfort_hipfft::hipfftmakeplanmany::hipfftmakeplanmany_rank_0 ( type(c_ptr)  plan,
integer(c_int)  rank,
integer(c_int), target  n,
integer(c_int), target  inembed,
integer(c_int)  istride,
integer(c_int)  idist,
integer(c_int), target  onembed,
integer(c_int)  ostride,
integer(c_int)  odist,
integer(kind(hipfft_r2c))  mytype,
integer(c_int)  batch,
integer(c_size_t)  worksize 
)

◆ hipfftmakeplanmany_rank_1()

integer(kind(hipfft_success)) function hipfort_hipfft::hipfftmakeplanmany::hipfftmakeplanmany_rank_1 ( type(c_ptr)  plan,
integer(c_int)  rank,
integer(c_int), dimension(:), target  n,
integer(c_int), dimension(:), target  inembed,
integer(c_int)  istride,
integer(c_int)  idist,
integer(c_int), dimension(:), target  onembed,
integer(c_int)  ostride,
integer(c_int)  odist,
integer(kind(hipfft_r2c))  mytype,
integer(c_int)  batch,
integer(c_size_t)  worksize 
)

The documentation for this interface was generated from the following file: