Modules

ModuleSource FileDescription
dtfft dtfft.F90

Main dtFFT module. Should be used in a Fortran program.

dtfft_abstract_backend dtfft_abstract_backend.F90

This module describes Abstraction for all GPU Backends: abstract_backend

dtfft_abstract_executor dtfft_abstract_executor.F90

This module describes Abstraction for all FFT Executors: abstract_executor

dtfft_abstract_transpose_plan dtfft_abstract_transpose_plan.F90

This module describes Abstraction for all Tranpose plans: abstract_transpose_plan

dtfft_api dtfft_api.F90

This module is a Fortran part of C/C++ interface

dtfft_backend_cufftmp_m dtfft_backend_cufftmp.F90

cuFFTMp GPU Backend backend_cufftmp

dtfft_backend_mpi dtfft_backend_mpi.F90

MPI Based GPU Backends backend_mpi

dtfft_backend_nccl_m dtfft_backend_nccl.F90

NCCL Based GPU Backends backend_nccl

dtfft_config dtfft_config.F90

This module handles additional configuration dtFFT, provided by dtfft_config_t or environment variables

dtfft_executor_cufft_m dtfft_executor_cufft_m.F90

This module describes cuFFT based FFT Executor: vkfft_executor

Read more…
dtfft_executor_fftw_m dtfft_executor_fftw_m.F90

This module describes FFTW3 based FFT Executor: fftw_executor

Read more…
dtfft_executor_mkl_m dtfft_executor_mkl_m.F90

This module describes MKL based FFT Executor: mkl_executor

Read more…
dtfft_executor_vkfft_m dtfft_executor_vkfft_m.F90

This module describes VkFFT based FFT Executor: vkfft_executor

Read more…
dtfft_interface_cuda dtfft_interface_cuda.F90

CUDA Driver Interfaces

Read more…
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.

Read more…
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

Read more…
dtfft_nvrtc_kernel dtfft_nvrtc_kernel.F90

This module describes NVRTC Kernel class nvrtc_kernel It uses caching of compiled kernels to avoid recompilation similar kernels: nvrtc_cache

dtfft_parameters dtfft_parameters.F90

This module defines common dtFFT parameters

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_cuda dtfft_transpose_handle_cuda.F90

This module describes transpose_handle_cuda class

dtfft_transpose_handle_host dtfft_transpose_handle_host.F90

This module describes transpose_handle_host class

dtfft_transpose_plan_cuda dtfft_transpose_plan_cuda.F90

This module describes transpose_plan_cuda class

dtfft_transpose_plan_host dtfft_transpose_plan_host.F90

This module describes transpose_plan_host class

dtfft_utils dtfft_utils.F90

All Utilities functions are located here

module~~graph~~ModuleGraph module~dtfft dtfft module~dtfft_config dtfft_config module~dtfft->module~dtfft_config module~dtfft_parameters dtfft_parameters module~dtfft->module~dtfft_parameters module~dtfft_pencil dtfft_pencil module~dtfft->module~dtfft_pencil module~dtfft_plan dtfft_plan module~dtfft->module~dtfft_plan module~dtfft_abstract_backend dtfft_abstract_backend module~dtfft_interface_cuda_runtime dtfft_interface_cuda_runtime module~dtfft_abstract_backend->module~dtfft_interface_cuda_runtime module~dtfft_interface_nccl dtfft_interface_nccl module~dtfft_abstract_backend->module~dtfft_interface_nccl module~dtfft_nvrtc_kernel dtfft_nvrtc_kernel module~dtfft_abstract_backend->module~dtfft_nvrtc_kernel module~dtfft_abstract_backend->module~dtfft_parameters module~dtfft_abstract_backend->module~dtfft_pencil module~dtfft_utils dtfft_utils module~dtfft_abstract_backend->module~dtfft_utils iso_c_binding iso_c_binding module~dtfft_abstract_backend->iso_c_binding iso_fortran_env iso_fortran_env module~dtfft_abstract_backend->iso_fortran_env mpi_f08 mpi_f08 module~dtfft_abstract_backend->mpi_f08 module~dtfft_abstract_executor dtfft_abstract_executor module~dtfft_interface_nvtx dtfft_interface_nvtx module~dtfft_abstract_executor->module~dtfft_interface_nvtx module~dtfft_abstract_executor->module~dtfft_parameters module~dtfft_abstract_executor->module~dtfft_pencil module~dtfft_abstract_executor->module~dtfft_utils module~dtfft_abstract_executor->iso_c_binding module~dtfft_abstract_executor->iso_fortran_env module~dtfft_abstract_transpose_plan dtfft_abstract_transpose_plan module~dtfft_abstract_transpose_plan->module~dtfft_abstract_backend module~dtfft_abstract_transpose_plan->module~dtfft_config module~dtfft_abstract_transpose_plan->module~dtfft_interface_cuda_runtime module~dtfft_abstract_transpose_plan->module~dtfft_interface_nccl module~dtfft_interface_nvshmem dtfft_interface_nvshmem module~dtfft_abstract_transpose_plan->module~dtfft_interface_nvshmem module~dtfft_abstract_transpose_plan->module~dtfft_interface_nvtx module~dtfft_abstract_transpose_plan->module~dtfft_nvrtc_kernel module~dtfft_abstract_transpose_plan->module~dtfft_parameters module~dtfft_abstract_transpose_plan->module~dtfft_pencil module~dtfft_abstract_transpose_plan->module~dtfft_utils module~dtfft_abstract_transpose_plan->iso_c_binding module~dtfft_abstract_transpose_plan->iso_fortran_env module~dtfft_abstract_transpose_plan->mpi_f08 module~dtfft_api dtfft_api module~dtfft_api->module~dtfft_config module~dtfft_api->module~dtfft_parameters module~dtfft_api->module~dtfft_pencil module~dtfft_api->module~dtfft_plan module~dtfft_api->module~dtfft_utils module~dtfft_api->iso_c_binding module~dtfft_api->iso_fortran_env module~dtfft_api->mpi_f08 module~dtfft_backend_cufftmp_m dtfft_backend_cufftmp_m module~dtfft_backend_cufftmp_m->module~dtfft_abstract_backend module~dtfft_backend_cufftmp_m->module~dtfft_interface_cuda_runtime module~dtfft_interface_cufft dtfft_interface_cufft module~dtfft_backend_cufftmp_m->module~dtfft_interface_cufft module~dtfft_backend_cufftmp_m->module~dtfft_interface_nvshmem module~dtfft_backend_cufftmp_m->module~dtfft_parameters module~dtfft_backend_cufftmp_m->module~dtfft_pencil module~dtfft_backend_cufftmp_m->module~dtfft_utils module~dtfft_backend_cufftmp_m->iso_c_binding module~dtfft_backend_cufftmp_m->iso_fortran_env module~dtfft_backend_cufftmp_m->mpi_f08 module~dtfft_backend_mpi dtfft_backend_mpi module~dtfft_backend_mpi->module~dtfft_abstract_backend module~dtfft_backend_mpi->module~dtfft_interface_cuda_runtime module~dtfft_backend_mpi->module~dtfft_parameters module~dtfft_backend_mpi->module~dtfft_utils module~dtfft_backend_mpi->iso_c_binding module~dtfft_backend_mpi->iso_fortran_env module~dtfft_backend_mpi->mpi_f08 module~dtfft_backend_nccl_m dtfft_backend_nccl_m module~dtfft_backend_nccl_m->module~dtfft_abstract_backend module~dtfft_backend_nccl_m->module~dtfft_interface_cuda_runtime module~dtfft_backend_nccl_m->module~dtfft_interface_nccl module~dtfft_backend_nccl_m->module~dtfft_parameters module~dtfft_backend_nccl_m->module~dtfft_utils module~dtfft_backend_nccl_m->iso_c_binding module~dtfft_backend_nccl_m->iso_fortran_env module~dtfft_backend_nccl_m->mpi_f08 module~dtfft_config->module~dtfft_interface_cuda_runtime module~dtfft_config->module~dtfft_parameters module~dtfft_config->module~dtfft_utils module~dtfft_config->iso_c_binding module~dtfft_config->iso_fortran_env module~dtfft_config->mpi_f08 module~dtfft_executor_cufft_m dtfft_executor_cufft_m module~dtfft_executor_cufft_m->module~dtfft_abstract_executor module~dtfft_executor_cufft_m->module~dtfft_config module~dtfft_executor_cufft_m->module~dtfft_interface_cuda_runtime module~dtfft_executor_cufft_m->module~dtfft_interface_cufft module~dtfft_executor_cufft_m->module~dtfft_parameters module~dtfft_executor_cufft_m->module~dtfft_utils module~dtfft_executor_cufft_m->iso_c_binding module~dtfft_executor_cufft_m->iso_fortran_env module~dtfft_executor_cufft_m->mpi_f08 module~dtfft_executor_fftw_m dtfft_executor_fftw_m module~dtfft_executor_fftw_m->module~dtfft_abstract_executor module~dtfft_interface_fftw_m dtfft_interface_fftw_m module~dtfft_executor_fftw_m->module~dtfft_interface_fftw_m module~dtfft_executor_fftw_m->module~dtfft_parameters module~dtfft_executor_fftw_m->module~dtfft_pencil module~dtfft_executor_fftw_m->module~dtfft_utils module~dtfft_executor_fftw_m->iso_c_binding module~dtfft_executor_fftw_m->iso_fortran_env module~dtfft_executor_mkl_m dtfft_executor_mkl_m module~dtfft_executor_mkl_m->module~dtfft_abstract_executor module~dtfft_interface_mkl_m dtfft_interface_mkl_m module~dtfft_executor_mkl_m->module~dtfft_interface_mkl_m module~dtfft_interface_mkl_native_m dtfft_interface_mkl_native_m module~dtfft_executor_mkl_m->module~dtfft_interface_mkl_native_m module~dtfft_executor_mkl_m->module~dtfft_parameters module~dtfft_executor_mkl_m->module~dtfft_utils module~dtfft_executor_mkl_m->iso_c_binding module~dtfft_executor_mkl_m->iso_fortran_env module~dtfft_executor_mkl_m->mpi_f08 module~dtfft_executor_vkfft_m dtfft_executor_vkfft_m module~dtfft_executor_vkfft_m->module~dtfft_abstract_executor module~dtfft_executor_vkfft_m->module~dtfft_config module~dtfft_interface_vkfft_m dtfft_interface_vkfft_m module~dtfft_executor_vkfft_m->module~dtfft_interface_vkfft_m module~dtfft_executor_vkfft_m->module~dtfft_parameters module~dtfft_executor_vkfft_m->iso_c_binding module~dtfft_executor_vkfft_m->iso_fortran_env module~dtfft_interface_cuda dtfft_interface_cuda module~dtfft_interface_cuda->module~dtfft_interface_cuda_runtime module~dtfft_interface_cuda->module~dtfft_parameters module~dtfft_interface_cuda->module~dtfft_utils module~dtfft_interface_cuda->iso_c_binding module~dtfft_interface_cuda->iso_fortran_env module~dtfft_interface_cuda_runtime->module~dtfft_parameters module~dtfft_interface_cuda_runtime->module~dtfft_utils module~dtfft_interface_cuda_runtime->iso_c_binding module~dtfft_interface_cufft->module~dtfft_parameters module~dtfft_interface_cufft->module~dtfft_utils module~dtfft_interface_cufft->iso_c_binding module~dtfft_interface_cufft->iso_fortran_env dtfft_interface_fftw_native_m dtfft_interface_fftw_native_m module~dtfft_interface_fftw_m->dtfft_interface_fftw_native_m module~dtfft_interface_fftw_m->iso_c_binding module~dtfft_interface_mkl_m->module~dtfft_utils module~dtfft_interface_mkl_m->iso_c_binding MKL_DFTI MKL_DFTI module~dtfft_interface_mkl_native_m->MKL_DFTI module~dtfft_interface_nccl->module~dtfft_parameters module~dtfft_interface_nccl->module~dtfft_utils module~dtfft_interface_nccl->iso_c_binding module~dtfft_interface_nvrtc dtfft_interface_nvrtc module~dtfft_interface_nvrtc->module~dtfft_interface_cuda_runtime module~dtfft_interface_nvrtc->module~dtfft_parameters module~dtfft_interface_nvrtc->module~dtfft_utils module~dtfft_interface_nvrtc->iso_c_binding module~dtfft_interface_nvrtc->iso_fortran_env module~dtfft_interface_nvshmem->module~dtfft_parameters module~dtfft_interface_nvshmem->module~dtfft_utils module~dtfft_interface_nvshmem->iso_c_binding module~dtfft_interface_nvshmem->iso_fortran_env module~dtfft_interface_nvtx->module~dtfft_utils module~dtfft_interface_nvtx->iso_c_binding module~dtfft_interface_vkfft_m->module~dtfft_parameters module~dtfft_interface_vkfft_m->module~dtfft_utils module~dtfft_interface_vkfft_m->iso_c_binding module~dtfft_interface_vkfft_m->iso_fortran_env module~dtfft_nvrtc_kernel->module~dtfft_interface_cuda module~dtfft_nvrtc_kernel->module~dtfft_interface_cuda_runtime module~dtfft_nvrtc_kernel->module~dtfft_interface_nvrtc module~dtfft_nvrtc_kernel->module~dtfft_interface_nvtx module~dtfft_nvrtc_kernel->module~dtfft_parameters module~dtfft_nvrtc_kernel->module~dtfft_utils module~dtfft_nvrtc_kernel->iso_c_binding module~dtfft_nvrtc_kernel->iso_fortran_env module~dtfft_nvrtc_kernel->mpi_f08 module~dtfft_parameters->iso_c_binding module~dtfft_parameters->iso_fortran_env module~dtfft_parameters->mpi_f08 module~dtfft_pencil->module~dtfft_interface_cuda_runtime module~dtfft_pencil->module~dtfft_parameters module~dtfft_pencil->module~dtfft_utils module~dtfft_pencil->iso_c_binding module~dtfft_pencil->iso_fortran_env module~dtfft_pencil->mpi_f08 module~dtfft_plan->module~dtfft_abstract_executor module~dtfft_plan->module~dtfft_abstract_transpose_plan module~dtfft_plan->module~dtfft_config module~dtfft_plan->module~dtfft_executor_cufft_m module~dtfft_plan->module~dtfft_executor_fftw_m module~dtfft_plan->module~dtfft_executor_mkl_m module~dtfft_plan->module~dtfft_executor_vkfft_m module~dtfft_plan->module~dtfft_interface_cuda_runtime module~dtfft_plan->module~dtfft_interface_nvshmem module~dtfft_plan->module~dtfft_interface_nvtx module~dtfft_plan->module~dtfft_nvrtc_kernel module~dtfft_plan->module~dtfft_parameters module~dtfft_plan->module~dtfft_pencil module~dtfft_transpose_plan_cuda dtfft_transpose_plan_cuda module~dtfft_plan->module~dtfft_transpose_plan_cuda module~dtfft_transpose_plan_host dtfft_transpose_plan_host module~dtfft_plan->module~dtfft_transpose_plan_host module~dtfft_plan->module~dtfft_utils module~dtfft_plan->iso_c_binding module~dtfft_plan->iso_fortran_env module~dtfft_plan->mpi_f08 module~dtfft_transpose_handle_cuda dtfft_transpose_handle_cuda module~dtfft_transpose_handle_cuda->module~dtfft_abstract_backend module~dtfft_transpose_handle_cuda->module~dtfft_backend_cufftmp_m module~dtfft_transpose_handle_cuda->module~dtfft_backend_mpi module~dtfft_transpose_handle_cuda->module~dtfft_backend_nccl_m module~dtfft_transpose_handle_cuda->module~dtfft_interface_cuda_runtime module~dtfft_transpose_handle_cuda->module~dtfft_interface_nvtx module~dtfft_transpose_handle_cuda->module~dtfft_nvrtc_kernel module~dtfft_transpose_handle_cuda->module~dtfft_parameters module~dtfft_transpose_handle_cuda->module~dtfft_pencil module~dtfft_transpose_handle_cuda->module~dtfft_utils module~dtfft_transpose_handle_cuda->iso_c_binding module~dtfft_transpose_handle_cuda->iso_fortran_env module~dtfft_transpose_handle_cuda->mpi_f08 module~dtfft_transpose_handle_host dtfft_transpose_handle_host module~dtfft_transpose_handle_host->module~dtfft_interface_nvtx module~dtfft_transpose_handle_host->module~dtfft_parameters module~dtfft_transpose_handle_host->module~dtfft_pencil module~dtfft_transpose_handle_host->iso_fortran_env module~dtfft_transpose_handle_host->mpi_f08 module~dtfft_transpose_plan_cuda->module~dtfft_abstract_backend module~dtfft_transpose_plan_cuda->module~dtfft_abstract_transpose_plan module~dtfft_transpose_plan_cuda->module~dtfft_config module~dtfft_transpose_plan_cuda->module~dtfft_interface_cuda module~dtfft_transpose_plan_cuda->module~dtfft_interface_cuda_runtime module~dtfft_transpose_plan_cuda->module~dtfft_interface_nvrtc module~dtfft_transpose_plan_cuda->module~dtfft_interface_nvtx module~dtfft_transpose_plan_cuda->module~dtfft_nvrtc_kernel module~dtfft_transpose_plan_cuda->module~dtfft_parameters module~dtfft_transpose_plan_cuda->module~dtfft_pencil module~dtfft_transpose_plan_cuda->module~dtfft_transpose_handle_cuda module~dtfft_transpose_plan_cuda->module~dtfft_utils module~dtfft_transpose_plan_cuda->iso_c_binding module~dtfft_transpose_plan_cuda->iso_fortran_env module~dtfft_transpose_plan_cuda->mpi_f08 module~dtfft_transpose_plan_host->module~dtfft_abstract_transpose_plan module~dtfft_transpose_plan_host->module~dtfft_interface_nvtx module~dtfft_transpose_plan_host->module~dtfft_parameters module~dtfft_transpose_plan_host->module~dtfft_pencil module~dtfft_transpose_plan_host->module~dtfft_transpose_handle_host module~dtfft_transpose_plan_host->module~dtfft_utils module~dtfft_transpose_plan_host->iso_fortran_env module~dtfft_transpose_plan_host->mpi_f08 module~dtfft_utils->module~dtfft_parameters module~dtfft_utils->iso_c_binding module~dtfft_utils->iso_fortran_env module~dtfft_utils->mpi_f08 proc~alloc_and_set_aux alloc_and_set_aux proc~alloc_and_set_aux->iso_fortran_env proc~alloc_mem alloc_mem proc~alloc_mem->iso_c_binding proc~alloc_mem->iso_fortran_env proc~check_aux dtfft_plan_t%check_aux proc~check_aux->iso_fortran_env proc~clean_unused_cache clean_unused_cache proc~clean_unused_cache->iso_c_binding proc~clean_unused_cache->iso_fortran_env proc~compile_and_cache compile_and_cache proc~compile_and_cache->iso_c_binding proc~compile_and_cache->iso_fortran_env proc~create cufft_executor%create proc~create->iso_c_binding proc~create->iso_fortran_env proc~create_device_pointer create_device_pointer proc~create_device_pointer->iso_c_binding proc~create_device_pointer->iso_fortran_env proc~create_helper backend_helper%create_helper proc~create_helper->iso_c_binding proc~create_helper->iso_fortran_env proc~create_private dtfft_plan_t%create_private proc~create_private->iso_c_binding proc~create_private->iso_fortran_env proc~create~10 backend_cufftmp%create proc~create~10->iso_c_binding proc~create~10->iso_fortran_env proc~create~6 abstract_backend%create proc~create~6->iso_c_binding proc~create~6->iso_fortran_env proc~destroy_helper backend_helper%destroy_helper proc~destroy_helper->iso_c_binding proc~destroy_helper->iso_fortran_env proc~destroy_stream destroy_stream proc~destroy_stream->iso_c_binding proc~destroy_stream->iso_fortran_env proc~destroy~10 backend_cufftmp%destroy proc~destroy~10->iso_c_binding proc~destroy~10->iso_fortran_env proc~destroy~2 cufft_executor%destroy proc~destroy~2->iso_c_binding proc~destroy~2->iso_fortran_env proc~destroy~3 nvrtc_kernel%destroy proc~destroy~3->iso_c_binding proc~destroy~3->iso_fortran_env proc~destroy~6 abstract_backend%destroy proc~destroy~6->iso_c_binding proc~destroy~6->iso_fortran_env proc~execute_mpi backend_mpi%execute_mpi proc~execute_mpi->iso_c_binding proc~execute_mpi->iso_fortran_env proc~execute_nccl backend_nccl%execute_nccl proc~execute_nccl->iso_c_binding proc~execute_nccl->iso_fortran_env proc~execute~10 backend_cufftmp%execute proc~execute~10->iso_c_binding proc~execute~10->iso_fortran_env proc~execute~2 cufft_executor%execute proc~execute~2->iso_c_binding proc~execute~2->iso_fortran_env proc~execute~3 nvrtc_kernel%execute proc~execute~3->iso_c_binding proc~execute~3->iso_fortran_env proc~execute~7 abstract_backend%execute proc~execute~7->iso_c_binding proc~execute~7->iso_fortran_env proc~free_mem free_mem proc~free_mem->iso_c_binding proc~free_mem->iso_fortran_env proc~get_user_stream get_user_stream proc~get_user_stream->iso_c_binding proc~get_user_stream->iso_fortran_env proc~run_autotune_backend run_autotune_backend proc~run_autotune_backend->iso_c_binding proc~run_autotune_backend->iso_fortran_env
Help