Library/ManagedCuda/CudaFFT/CudaFFTNativeMethods.cs
/// <summary>
/// Following a call to cufftCreate() makes a FFT plan configuration of dimension rank,
/// with sizes specified in the array n. The batch input parameter tells CUFFT how many
/// transforms to configure. With this function, batched plans of 1, 2, or 3 dimensions may
/// be created.<para/>
/// The cufftPlanMany() API supports more complicated input and output data layouts
/// via the advanced data layout parameters: inembed, istride, idist, onembed,
/// ostride, and odist.<para/>
/// All arrays are assumed to be in CPU memory.
/// </summary>
/// <param name="plan">cufftHandle object</param>
/// <param name="rank">Dimensionality of the transform (1, 2, or 3)</param>
/// <param name="n">Array of size rank, describing the size of each dimension</param>
/// <param name="inembed">Pointer of size rank that indicates the storage dimensions of
/// the input data in memory. If set to NULL all other advanced
/// data layout parameters are ignored.</param>
/// <param name="istride">Indicates the distance between two successive input
/// elements in the least significant (i.e., innermost) dimension</param>
/// <param name="idist">Indicates the distance between the first element of two
/// consecutive signals in a batch of the input data</param>
/// <param name="onembed">Pointer of size rank that indicates the storage dimensions of
/// the output data in memory. If set to NULL all other advanced
/// data layout parameters are ignored.</param>
/// <param name="ostride">Indicates the distance between two successive output
/// elements in the output array in the least significant (i.e.,
/// innermost) dimension</param>
/// <param name="odist">Indicates the distance between the first element of two
/// consecutive signals in a batch of the output data</param>
/// <param name="type">The transform data type (e.g., CUFFT_R2C for single
/// precision real to complex)</param>
/// <param name="batch">Batch size for this transform</param>
/// <param name="workSize"></param>
/// <returns></returns>
Following a call to cufftCreate() makes a FFT plan configuration of dimension rank,
with sizes specified in the array n. The batch input parameter tells CUFFT how many
transforms to configure. With this function, batched plans of 1, 2, or 3 dimensions may
be created.
The cufftPlanMany() API supports more complicated input and output data layouts
via the advanced data layout parameters: inembed, istride, idist, onembed,
ostride, and odist.
All arrays are assumed to be in CPU memory.
Following a call to cufftCreate () makes a FFT plan configuration of dimension rank with sizes specified in the array n . The batch input parameter tells CUFFT how many transforms to configure . With this function batched plans of 1 2 or 3 dimensions may be created . The cufftPlanMany () API supports more complicated input and output data layouts via the advanced data layout parameters : inembed istride idist onembed ostride and odist . All arrays are assumed to be in CPU memory .
[DllImport(CUFFT_API_DLL_NAME)]
		public static extern cufftResult cufftMakePlanMany(cufftHandle plan,
                                       int rank,
                                       [In] int[] n, [In] int[] inembed, [In] int istride, [In] int idist,
									   [In] int[] onembed, [In] int ostride, [In] int odist,
                                       cufftType type,
                                       int batch,
									   ref SizeT workSize);
[ DllImport ( CUFFT_API_DLL_NAME ) ] public static extern cufftResult cufftMakePlanMany ( cufftHandle plan , int rank , [ In ] int [ ] n , [ In ] int [ ] inembed , [ In ] int istride , [ In ] int idist , [ In ] int [ ] onembed , [ In ] int ostride , [ In ] int odist , cufftType type , int batch , ref SizeT workSize ) ;
Following a call to cufftCreate() makes a FFT plan configuration of dimension rank,
with sizes specified in the array n. The batch input parameter tells CUFFT how many
transforms to configure.
Following a call to cufftCreate () makes a FFT plan configuration of dimension rank with sizes specified in the array n . The batch input parameter tells CUFFT how many transforms to configure .
None
plan
cufftHandle
None
rank
int
Dimensionality of the transform (1, 2, or 3)
Dimensionality of the transform ( 1 2 or 3 )
int[]
[In]
int
[In]
type
cufftType
The transform data type
The transform data type
batch
int
Batch size for this transform
Batch size for this transform
SizeT
ref
n
Array of size rank, describing the size of each dimension
Array of size rank describing the size of each dimension
inembed
Pointer of size rank that indicates the storage dimensions of
the input data in memory. If set to NULL all other advanced
data layout parameters are ignored.
Pointer of size rank that indicates the storage dimensions of the input data in memory . If set to NULL all other advanced data layout parameters are ignored .
istride
Indicates the distance between two successive input
elements in the least significant  dimension
Indicates the distance between two successive input elements in the least significant dimension
idist
Indicates the distance between the first element of two
consecutive signals in a batch of the input data
Indicates the distance between the first element of two consecutive signals in a batch of the input data
onembed
Pointer of size rank that indicates the storage dimensions of
the output data in memory. If set to NULL all other advanced
data layout parameters are ignored.
Pointer of size rank that indicates the storage dimensions of the output data in memory . If set to NULL all other advanced data layout parameters are ignored .
ostride
Indicates the distance between two successive output
elements in the output array in the least significant  dimension
Indicates the distance between two successive output elements in the output array in the least significant dimension
odist
Indicates the distance between the first element of two
consecutive signals in a batch of the output data
Indicates the distance between the first element of two consecutive signals in a batch of the output data
workSize
None