C# Class ManagedCuda.CudaFFT.cufftHandle

Exibir arquivo Open project: kunzmi/managedCuda Class Usage Examples

Public Properties

Property Type Description
Handle uint

Public Methods

Method Description
Create ( ) : cufftHandle

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.

SetAutoAllocation ( bool autoAllocate ) : void

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.

SetCompatibilityMode ( Compatibility mode ) : void

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.

SetStream ( ManagedCuda.BasicTypes.CUstream stream ) : void

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().

SetWorkArea ( ManagedCuda.BasicTypes.CUdeviceptr workArea ) : void

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.

Method Details

Create() public static method

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.
public static Create ( ) : cufftHandle
return cufftHandle

SetAutoAllocation() public method

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.
public SetAutoAllocation ( bool autoAllocate ) : void
autoAllocate bool
return void

SetCompatibilityMode() public method

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.
public SetCompatibilityMode ( Compatibility mode ) : void
mode Compatibility The option to be used
return void

SetStream() public method

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().
public SetStream ( ManagedCuda.BasicTypes.CUstream stream ) : void
stream ManagedCuda.BasicTypes.CUstream A valid CUDA stream created with cudaStreamCreate() (or 0 for the default stream)
return void

SetWorkArea() public method

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.
public SetWorkArea ( ManagedCuda.BasicTypes.CUdeviceptr workArea ) : void
workArea ManagedCuda.BasicTypes.CUdeviceptr
return void

Property Details

Handle public_oe property

public uint Handle
return uint