| Module | Source File | Description |
|---|---|---|
| dtfft | dtfft.F90 | Main |
| dtfft_abstract_backend | dtfft_abstract_backend.F90 | This module describes Abstraction for all Backends: abstract_backend |
| dtfft_abstract_executor | dtfft_abstract_executor.F90 | This module describes Abstraction for all FFT Executors: abstract_executor |
| dtfft_abstract_kernel | dtfft_abstract_kernel.F90 | This module defines |
| dtfft_abstract_transpose_handle | dtfft_abstract_transpose_handle.F90 | This module defines |
| dtfft_api | dtfft_api.F90 | This module is a Fortran part of C interface |
| dtfft_backend_cufftmp_m | dtfft_backend_cufftmp.F90 | cuFFTMp GPU Backend backend_cufftmp |
| dtfft_backend_mpi | dtfft_backend_mpi.F90 | MPI Based Backends backend_mpi |
| dtfft_backend_nccl_m | dtfft_backend_nccl.F90 | NCCL Based GPU Backends backend_nccl |
| dtfft_config | dtfft_config.F90 | Configuration module for dtFFT. It handles both runtime (environment variables) and compile-time (dtfft_config_t) configurations. |
| dtfft_errors | dtfft_errors.F90 | Module that defines error codes and provides utility to get error string |
| dtfft_executor_cufft_m | dtfft_executor_cufft_m.F90 | This module describes cuFFT based FFT Executor: vkfft_executor |
| dtfft_executor_fftw_m | dtfft_executor_fftw_m.F90 | This module describes FFTW3 based FFT Executor: fftw_executor |
| dtfft_executor_mkl_m | dtfft_executor_mkl_m.F90 | This module describes MKL based FFT Executor: mkl_executor |
| dtfft_executor_vkfft_m | dtfft_executor_vkfft_m.F90 | This module describes VkFFT based FFT Executor: vkfft_executor |
| dtfft_interface_cuda | dtfft_interface_cuda.F90 | CUDA Driver Interfaces |
| dtfft_interface_cuda_runtime | dtfft_interface_cuda_runtime.F90 | CUDA Runtime Interfaces |
| dtfft_interface_cufft | dtfft_interface_cufft.F90 | cuFFT Interfaces |
| dtfft_interface_fftw_m | dtfft_interface_fftw_m.F90 | This module creates interface with fftw3 library |
| dtfft_interface_mkl_m | dtfft_interface_mkl_m.F90 | This module creates C interface with MKL library |
| dtfft_interface_mkl_native_m | dtfft_interface_mkl_native_m.F90 | This module creates native interface with MKL library |
| dtfft_interface_nccl | dtfft_interface_nccl.F90 | NCCL Interfaces |
| dtfft_interface_nvrtc | dtfft_interface_nvrtc.F90 | nvRTC Interfaces. |
| dtfft_interface_nvshmem | dtfft_interface_nvshmem.F90 | NVSHMEM Interfaces |
| dtfft_interface_nvtx | dtfft_interface_nvtx.F90 | nvtx3 Interfaces |
| dtfft_interface_vkfft_m | dtfft_interface_vkfft_m.F90 | This module creates interface with VkFFT library |
| dtfft_kernel_device | dtfft_kernel_device.F90 | This module defines kernel_device type and its type bound procedures. It extends abstract_kernel type and implements its type bound procedures. |
| dtfft_kernel_host | dtfft_kernel_host.F90 | This module defines |
| dtfft_nvrtc_block_optimizer | dtfft_nvrtc_block_optimizer.F90 | Module that provides functionality to analytically optimize CUDA kernel configurations |
| dtfft_nvrtc_module | dtfft_nvrtc_module.F90 | Module for managing nvRTC compiled CUDA kernels Each module has only one templated kernel that can be instantiated with different parameters |
| dtfft_nvrtc_module_cache | dtfft_nvrtc_module_cache.F90 | Module that implements a cache for nvrtc modules Cache is used to avoid recompilation of kernels with the same parameters |
| dtfft_parameters | dtfft_parameters.F90 | This module defines common |
| dtfft_pencil | dtfft_pencil.F90 | This module describes private pencil and public dtfft_pencil_t classes |
| dtfft_plan | dtfft_plan.F90 | This module describes dtfft_plan_t, dtfft_plan_c2c_t, dtfft_plan_r2c_t and dtfft_plan_r2r_t types |
| dtfft_transpose_handle_datatype | dtfft_transpose_handle_datatype.F90 | This module describes transpose_handle_datatype class
This class implements transposition using MPI_Ialltoall(w)
with custom MPI datatypes
For the end user this is |
| dtfft_transpose_handle_generic | dtfft_transpose_handle_generic.F90 | This module describes transpose_handle_generic class It is responsible for managing both Host and CUDA-based transposition operations It executes transpose kernels, memory transfers between GPUs/Hosts, and data unpacking if required |
| dtfft_transpose_plan | dtfft_transpose_plan.F90 | This module describes transpose_plan class |
| dtfft_utils | dtfft_utils.F90 | All Utilities functions are located here |