| Type | Location | Extends | Description |
|---|---|---|---|
| abstract_backend | dtfft_abstract_backend | None | The most Abstract Backend |
| abstract_executor | dtfft_abstract_executor | None | The “most” abstract executor. All FFT executors are extending this class. |
| abstract_kernel | dtfft_abstract_kernel | None | Abstract kernel type |
| abstract_transpose_handle | dtfft_abstract_transpose_handle | None | Abstract transpose handle type |
| async_exec_t | dtfft_parameters | None | |
| backend_cufftmp | dtfft_backend_cufftmp_m | abstract_backend | cuFFTMp GPU Backend |
| backend_helper | dtfft_abstract_backend | None | Helper with nccl, mpi and nvshmem communicators |
| backend_mpi | dtfft_backend_mpi | abstract_backend | MPI Backend |
| backend_nccl | dtfft_backend_nccl_m | abstract_backend | NCCL backend |
| Box3D | dtfft_backend_cufftmp_m | None | cuFFTMp Box |
| codegen_t | dtfft_nvrtc_module | string | Class for generating CUDA code |
| create_args | dtfft_abstract_transpose_handle | None | Arguments for creating transpose handle |
| cudaEvent | dtfft_interface_cuda_runtime | None | CUDA event types |
| cufft_executor | dtfft_executor_cufft_m | abstract_executor | cuFFT FFT Executor |
| cufftReshapeHandle | dtfft_interface_cufft | None | An opaque handle to a reshape operation. |
| CUfunction | dtfft_interface_cuda | None | CUDA function |
| CUmodule | dtfft_interface_cuda | None | CUDA module |
| data_handle | dtfft_transpose_handle_generic | None | Helper class used to obtain displacements and counts needed to send to other processes |
| device_props | dtfft_interface_cuda_runtime | None | GPU device properties obtained from cudaDeviceProp |
| dim3 | dtfft_interface_cuda | None | Dimension specification type |
| dtfft_backend_t | dtfft_parameters | None | Type that specifies various backends present in dtFFT |
| dtfft_config_t | dtfft_config | None | Type that can be used to set additional configuration parameters to |
| dtfft_core_c2c | dtfft_plan | dtfft_plan_t | Abstract C2C Plan |
| dtfft_effort_t | dtfft_parameters | None | Type that specifies effort that dtFFT should use when creating plan |
| dtfft_execute_t | dtfft_parameters | None | Type that is used during call to |
| dtfft_executor_t | dtfft_parameters | None | Type that specifies external FFT executor |
| dtfft_pencil_c | dtfft_pencil | None | Structure to hold pencil decomposition info |
| dtfft_pencil_t | dtfft_pencil | None | Structure to hold pencil decomposition info |
| dtfft_plan_c2c_t | dtfft_plan | dtfft_core_c2c | C2C Plan |
| dtfft_plan_r2c_t | dtfft_plan | dtfft_core_c2c | R2C Plan |
| dtfft_plan_r2r_t | dtfft_plan | dtfft_plan_t | R2R Plan |
| dtfft_plan_t | dtfft_plan | None | Abstract class for all |
| dtfft_platform_t | dtfft_parameters | None | Type that specifies runtime platform, e.g. Host, CUDA, HIP |
| dtfft_precision_t | dtfft_parameters | None | Type that specifies precision of dtFFT plan |
| dtfft_r2r_kind_t | dtfft_parameters | None | Type that specifies various kinds of R2R FFTs |
| dtfft_request_t | dtfft_parameters | None | |
| dtfft_stream_t | dtfft_parameters | None |
|
| dtfft_transpose_t | dtfft_parameters | None | Type that is used during call to transpose method |
| execute_args | dtfft_abstract_transpose_handle | None | Arguments for executing transpose handle |
| fft_executor | dtfft_plan | None | FFT handle |
| fftw_executor | dtfft_executor_fftw_m | abstract_executor | FFTW3 FFT Executor |
| handle_t | dtfft_transpose_handle_datatype | None | Transposition handle class |
| host_kernel_t | dtfft_kernel_host | None | |
| kernel_config | dtfft_nvrtc_block_optimizer | None | Configuration for the potential kernel |
| kernel_device | dtfft_kernel_device | abstract_kernel | Device kernel class |
| kernel_host | dtfft_kernel_host | abstract_kernel | Host kernel implementation |
| kernel_type_t | dtfft_abstract_kernel | None | nvRTC Kernel type |
| mkl_executor | dtfft_executor_mkl_m | abstract_executor | MKL FFT Executor |
| mpi_backend_helper | dtfft_backend_mpi | None | MPI Helper |
| ncclComm | dtfft_interface_nccl | None | |
| ncclDataType | dtfft_interface_nccl | None | |
| ncclUniqueId | dtfft_interface_nccl | None | |
| nvrtc_module | dtfft_nvrtc_module | None | Class for managing nvRTC compiled CUDA kernels |
| nvrtc_module_cache | dtfft_nvrtc_module_cache | None | Cache for nvrtc modules |
| nvrtcProgram | dtfft_interface_nvrtc | None | nvrtcProgram is the unit of compilation, and an opaque handle for a program. |
| nvshmem_team_t | dtfft_interface_nvshmem | None | NVSHMEM team. |
| nvtxDomainHandle | dtfft_interface_nvtx | None | NVTX domain handle. |
| pencil | dtfft_pencil | None | Class that describes information about data layout |
| pencil_init | dtfft_pencil | None | Class that describes information about data layout |
| plan_c | dtfft_api | None | C pointer to Fortran plan |
| plan_t | dtfft_transpose_plan | None | This type is a container for allocatable transpose handles |
| string | dtfft_utils | None | Class used to create array of strings |
| transpose_handle_datatype | dtfft_transpose_handle_datatype | abstract_transpose_handle | Tranpose backend that uses MPI_Ialltoall(w) with custom MPI datatypes |
| transpose_handle_generic | dtfft_transpose_handle_generic | abstract_transpose_handle | Generic Transpose Handle Executes transposition in 3 steps: |
| transpose_plan | dtfft_transpose_plan | None | Transpose Plan class This class is a container for transposition plans |
| transpose_request | dtfft_plan | None | Handle for async transpose operation |
| vkfft_executor | dtfft_executor_vkfft_m | abstract_executor | vkFFT FFT Executor |
| vkfft_wrapper | dtfft_interface_vkfft_m | None | VkFFT Wrapper |