Struct cufftHandle
cufftHandle is a handle type used to store and access CUFFT plans.
Inherited Members
Namespace: ManagedCuda.CudaFFT
Assembly: CudaFFT.dll
Syntax
public struct cufftHandle
Fields
| Improve this Doc View SourceHandle
Declaration
public uint Handle
Field Value
Type | Description |
---|---|
System.UInt32 |
Methods
| Improve this Doc View SourceCreate()
Creates only an opaque handle, and allocates small data structures on the host. The cufftMakePlan*() calls actually do the plan generation. It is recommended that cufftSet*() calls, such as cufftSetCompatibilityMode(), that may require a plan to be broken down and re-generated, should be made after cufftCreate() and before one of the cufftMakePlan*() calls.
Declaration
public static cufftHandle Create()
Returns
Type | Description |
---|---|
cufftHandle |
SetAutoAllocation(Boolean)
SetAutoAllocation() indicates that the caller intends to allocate and manage work areas for plans that have been generated. CUFFT default behavior is to allocate the work area at plan generation time. If cufftSetAutoAllocation() has been called with autoAllocate set to "false" prior to one of the cufftMakePlan*() calls, CUFFT does not allocate the work area. This is the preferred sequence for callers wishing to manage work area allocation.
Declaration
public void SetAutoAllocation(bool autoAllocate)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | autoAllocate |
SetCompatibilityMode(Compatibility)
configures the layout of CUFFT output in FFTW‐compatible modes. When FFTW compatibility is desired, it can be configured for padding only, for asymmetric complex inputs only, or to be fully compatible.
Declaration
public void SetCompatibilityMode(Compatibility mode)
Parameters
Type | Name | Description |
---|---|---|
Compatibility | mode | The Compatibility option to be used |
SetStream(CUstream)
Associates a CUDA stream with a CUFFT plan. All kernel launches made during plan execution are now done through the associated stream, enabling overlap with activity in other streams (for example, data copying). The association remains until the plan is destroyed or the stream is changed with another call to SetStream().
Declaration
public void SetStream(CUstream stream)
Parameters
Type | Name | Description |
---|---|---|
CUstream | stream | A valid CUDA stream created with cudaStreamCreate() (or 0 for the default stream) |
SetWorkArea(CUdeviceptr)
SetWorkArea() overrides the work area pointer associated with a plan. If the work area was auto-allocated, CUFFT frees the auto-allocated space. The cufftExecute*() calls assume that the work area pointer is valid and that it points to a contiguous region in device memory that does not overlap with any other work area. If this is not the case, results are indeterminate.
Declaration
public void SetWorkArea(CUdeviceptr workArea)
Parameters
Type | Name | Description |
---|---|---|
CUdeviceptr | workArea |