dtfft_errors Module


Uses

  • module~~dtfft_errors~~UsesGraph module~dtfft_errors dtfft_errors iso_fortran_env iso_fortran_env module~dtfft_errors->iso_fortran_env

Used by

  • module~~dtfft_errors~~UsedByGraph module~dtfft_errors dtfft_errors module~dtfft dtfft module~dtfft->module~dtfft_errors module~dtfft_config dtfft_config module~dtfft->module~dtfft_config module~dtfft_pencil dtfft_pencil module~dtfft->module~dtfft_pencil module~dtfft_plan dtfft_plan module~dtfft->module~dtfft_plan module~dtfft_abstract_executor dtfft_abstract_executor module~dtfft_abstract_executor->module~dtfft_errors module~dtfft_abstract_executor->module~dtfft_pencil module~dtfft_utils dtfft_utils module~dtfft_abstract_executor->module~dtfft_utils module~dtfft_interface_nvtx dtfft_interface_nvtx module~dtfft_abstract_executor->module~dtfft_interface_nvtx module~dtfft_abstract_transpose_plan dtfft_abstract_transpose_plan module~dtfft_abstract_transpose_plan->module~dtfft_errors module~dtfft_abstract_transpose_plan->module~dtfft_config module~dtfft_abstract_transpose_plan->module~dtfft_pencil module~dtfft_abstract_transpose_plan->module~dtfft_utils module~dtfft_abstract_backend dtfft_abstract_backend module~dtfft_abstract_transpose_plan->module~dtfft_abstract_backend module~dtfft_interface_cuda_runtime dtfft_interface_cuda_runtime module~dtfft_abstract_transpose_plan->module~dtfft_interface_cuda_runtime module~dtfft_interface_nccl dtfft_interface_nccl 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_nvrtc_kernel dtfft_nvrtc_kernel module~dtfft_abstract_transpose_plan->module~dtfft_nvrtc_kernel module~dtfft_api dtfft_api module~dtfft_api->module~dtfft_errors module~dtfft_api->module~dtfft_config module~dtfft_api->module~dtfft_pencil module~dtfft_api->module~dtfft_plan module~dtfft_api->module~dtfft_utils module~dtfft_config->module~dtfft_errors module~dtfft_config->module~dtfft_utils module~dtfft_config->module~dtfft_interface_cuda_runtime module~dtfft_executor_cufft_m dtfft_executor_cufft_m module~dtfft_executor_cufft_m->module~dtfft_errors module~dtfft_executor_cufft_m->module~dtfft_abstract_executor module~dtfft_executor_cufft_m->module~dtfft_config module~dtfft_executor_cufft_m->module~dtfft_utils module~dtfft_executor_cufft_m->module~dtfft_interface_cuda_runtime module~dtfft_interface_cufft dtfft_interface_cufft module~dtfft_executor_cufft_m->module~dtfft_interface_cufft module~dtfft_executor_fftw_m dtfft_executor_fftw_m module~dtfft_executor_fftw_m->module~dtfft_errors module~dtfft_executor_fftw_m->module~dtfft_abstract_executor module~dtfft_executor_fftw_m->module~dtfft_pencil module~dtfft_executor_fftw_m->module~dtfft_utils module~dtfft_executor_mkl_m dtfft_executor_mkl_m module~dtfft_executor_mkl_m->module~dtfft_errors module~dtfft_executor_mkl_m->module~dtfft_abstract_executor module~dtfft_executor_mkl_m->module~dtfft_utils module~dtfft_interface_mkl_m dtfft_interface_mkl_m module~dtfft_executor_mkl_m->module~dtfft_interface_mkl_m module~dtfft_executor_vkfft_m dtfft_executor_vkfft_m module~dtfft_executor_vkfft_m->module~dtfft_errors 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_interface_cuda dtfft_interface_cuda module~dtfft_interface_cuda->module~dtfft_errors module~dtfft_interface_cuda->module~dtfft_utils module~dtfft_interface_nvrtc dtfft_interface_nvrtc module~dtfft_interface_nvrtc->module~dtfft_errors module~dtfft_interface_nvrtc->module~dtfft_utils module~dtfft_interface_vkfft_m->module~dtfft_errors module~dtfft_interface_vkfft_m->module~dtfft_utils module~dtfft_pencil->module~dtfft_errors module~dtfft_pencil->module~dtfft_utils module~dtfft_pencil->module~dtfft_interface_cuda_runtime module~dtfft_plan->module~dtfft_errors 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_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->module~dtfft_interface_cuda_runtime module~dtfft_plan->module~dtfft_interface_nvshmem module~dtfft_plan->module~dtfft_interface_nvtx module~dtfft_transpose_plan_cuda->module~dtfft_errors 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_nvrtc module~dtfft_transpose_plan_cuda->module~dtfft_pencil module~dtfft_transpose_plan_cuda->module~dtfft_utils module~dtfft_transpose_plan_cuda->module~dtfft_abstract_backend module~dtfft_transpose_plan_cuda->module~dtfft_interface_cuda_runtime module~dtfft_transpose_plan_cuda->module~dtfft_interface_nvtx module~dtfft_nvrtc_kernel_cache dtfft_nvrtc_kernel_cache module~dtfft_transpose_plan_cuda->module~dtfft_nvrtc_kernel_cache module~dtfft_transpose_handle_cuda dtfft_transpose_handle_cuda module~dtfft_transpose_plan_cuda->module~dtfft_transpose_handle_cuda module~dtfft_transpose_plan_host->module~dtfft_errors module~dtfft_transpose_plan_host->module~dtfft_abstract_transpose_plan module~dtfft_transpose_plan_host->module~dtfft_config module~dtfft_transpose_plan_host->module~dtfft_pencil module~dtfft_transpose_plan_host->module~dtfft_utils module~dtfft_transpose_plan_host->module~dtfft_interface_nvtx module~dtfft_transpose_handle_host dtfft_transpose_handle_host module~dtfft_transpose_plan_host->module~dtfft_transpose_handle_host module~dtfft_utils->module~dtfft_errors module~dtfft_abstract_backend->module~dtfft_config module~dtfft_abstract_backend->module~dtfft_pencil module~dtfft_abstract_backend->module~dtfft_utils module~dtfft_abstract_backend->module~dtfft_interface_cuda_runtime module~dtfft_abstract_backend->module~dtfft_interface_nccl module~dtfft_abstract_backend->module~dtfft_nvrtc_kernel module~dtfft_backend_cufftmp_m dtfft_backend_cufftmp_m module~dtfft_backend_cufftmp_m->module~dtfft_pencil module~dtfft_backend_cufftmp_m->module~dtfft_utils module~dtfft_backend_cufftmp_m->module~dtfft_abstract_backend module~dtfft_backend_cufftmp_m->module~dtfft_interface_cuda_runtime module~dtfft_backend_cufftmp_m->module~dtfft_interface_cufft module~dtfft_backend_cufftmp_m->module~dtfft_interface_nvshmem module~dtfft_backend_mpi dtfft_backend_mpi module~dtfft_backend_mpi->module~dtfft_utils module~dtfft_backend_mpi->module~dtfft_abstract_backend module~dtfft_backend_mpi->module~dtfft_interface_cuda_runtime module~dtfft_backend_nccl_m dtfft_backend_nccl_m module~dtfft_backend_nccl_m->module~dtfft_utils 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_interface_cuda_runtime->module~dtfft_utils module~dtfft_interface_cufft->module~dtfft_utils module~dtfft_interface_mkl_m->module~dtfft_utils module~dtfft_interface_nccl->module~dtfft_utils module~dtfft_interface_nvshmem->module~dtfft_utils module~dtfft_interface_nvtx->module~dtfft_utils module~dtfft_nvrtc_block_optimizer dtfft_nvrtc_block_optimizer module~dtfft_nvrtc_block_optimizer->module~dtfft_config module~dtfft_nvrtc_block_optimizer->module~dtfft_interface_cuda module~dtfft_nvrtc_block_optimizer->module~dtfft_utils module~dtfft_nvrtc_block_optimizer->module~dtfft_interface_cuda_runtime module~dtfft_nvrtc_kernel->module~dtfft_config module~dtfft_nvrtc_kernel->module~dtfft_interface_cuda module~dtfft_nvrtc_kernel->module~dtfft_interface_nvrtc module~dtfft_nvrtc_kernel->module~dtfft_utils module~dtfft_nvrtc_kernel->module~dtfft_interface_cuda_runtime module~dtfft_nvrtc_kernel->module~dtfft_interface_nvtx module~dtfft_nvrtc_kernel->module~dtfft_nvrtc_block_optimizer module~dtfft_nvrtc_kernel->module~dtfft_nvrtc_kernel_cache module~dtfft_nvrtc_kernel_generator dtfft_nvrtc_kernel_generator module~dtfft_nvrtc_kernel->module~dtfft_nvrtc_kernel_generator module~dtfft_nvrtc_kernel_cache->module~dtfft_config module~dtfft_nvrtc_kernel_cache->module~dtfft_interface_cuda module~dtfft_nvrtc_kernel_cache->module~dtfft_utils module~dtfft_nvrtc_kernel_cache->module~dtfft_interface_cuda_runtime module~dtfft_nvrtc_kernel_generator->module~dtfft_interface_cuda module~dtfft_nvrtc_kernel_generator->module~dtfft_interface_nvrtc module~dtfft_nvrtc_kernel_generator->module~dtfft_utils module~dtfft_nvrtc_kernel_generator->module~dtfft_interface_cuda_runtime module~dtfft_nvrtc_kernel_generator->module~dtfft_nvrtc_block_optimizer module~dtfft_transpose_handle_cuda->module~dtfft_pencil module~dtfft_transpose_handle_cuda->module~dtfft_utils 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_host->module~dtfft_pencil module~dtfft_transpose_handle_host->module~dtfft_interface_nvtx

Variables

Type Visibility Attributes Name Initial
integer(kind=int32), public, parameter :: DTFFT_SUCCESS = 0

Successful execution

integer(kind=int32), public, parameter :: DTFFT_ERROR_MPI_FINALIZED = (-1)

MPI_Init is not called or MPI_Finalize has already been called

integer(kind=int32), public, parameter :: DTFFT_ERROR_PLAN_NOT_CREATED = 1

Plan not created

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_TRANSPOSE_TYPE = 2

Invalid transpose_type provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_N_DIMENSIONS = 3

Invalid Number of dimensions provided. Valid options are 2 and 3

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_DIMENSION_SIZE = 4

One or more provided dimension sizes <= 0

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_COMM_TYPE = 5

Invalid communicator type provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_PRECISION = 6

Invalid precision parameter provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_EFFORT = 7

Invalid effort parameter provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_EXECUTOR = 8

Invalid executor parameter provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_COMM_DIMS = 9

Number of dimensions in provided Cartesian communicator > Number of dimension passed to create subroutine

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_COMM_FAST_DIM = 10

Passed Cartesian communicator with number of processes in 1st (fastest varying) dimension > 1

integer(kind=int32), public, parameter :: DTFFT_ERROR_MISSING_R2R_KINDS = 11

For R2R plan, kinds parameter must be passed if executor != DTFFT_EXECUTOR_NONE

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_R2R_KINDS = 12

Invalid values detected in kinds parameter

integer(kind=int32), public, parameter :: DTFFT_ERROR_R2C_TRANSPOSE_PLAN = 13

Transpose plan is not supported in R2C, use R2R or C2C plan instead

integer(kind=int32), public, parameter :: DTFFT_ERROR_INPLACE_TRANSPOSE = 14

Inplace transpose is not supported

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_AUX = 15

Invalid aux buffer provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_DIM = 16

Invalid dim passed to plan.get_pencil

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_USAGE = 17

Invalid API Usage.

integer(kind=int32), public, parameter :: DTFFT_ERROR_PLAN_IS_CREATED = 18

Trying to create already created plan

integer(kind=int32), public, parameter :: DTFFT_ERROR_ALLOC_FAILED = 19

Internal allocation failed

integer(kind=int32), public, parameter :: DTFFT_ERROR_FREE_FAILED = 20

Internal memory free failed

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_ALLOC_BYTES = 21

Invalid alloc_bytes provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_DLOPEN_FAILED = 22

dlopen failed

integer(kind=int32), public, parameter :: DTFFT_ERROR_DLSYM_FAILED = 23

dlsym failed

integer(kind=int32), public, parameter :: DTFFT_ERROR_R2C_TRANSPOSE_CALLED = 24

Calling to transpose method for R2C plan is not allowed

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_ARRAYS_SIZE_MISMATCH = 25

Sizes of starts and counts arrays passed to dtfft_pencil_t constructor do not match

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_ARRAYS_INVALID_SIZES = 26

Sizes of starts and counts < 2 or > 3 provided to dtfft_pencil_t constructor

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_INVALID_COUNTS = 27

Invalid counts provided to dtfft_pencil_t constructor

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_INVALID_STARTS = 28

Invalid starts provided to dtfft_pencil_t constructor

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_SHAPE_MISMATCH = 29

Processes have same lower bounds but different sizes in some dimensions

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_OVERLAP = 30

Pencil overlap detected, i.e. two processes share same part of global space

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_NOT_CONTINUOUS = 31

Local pencils do not cover the global space without gaps

integer(kind=int32), public, parameter :: DTFFT_ERROR_PENCIL_NOT_INITIALIZED = 32

Pencil is not initialized, i.e. constructor subroutine was not called

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_MEASURE_WARMUP_ITERS = 33

Invalid n_measure_warmup_iters provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_MEASURE_ITERS = 34

Invalid n_measure_iters provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_R2R_FFT_NOT_SUPPORTED = 101

Selected executor do not support R2R FFTs

integer(kind=int32), public, parameter :: DTFFT_ERROR_GPU_INVALID_STREAM = 201

Invalid stream provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_GPU_INVALID_BACKEND = 202

Invalid GPU backend provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_GPU_NOT_SET = 203

Multiple MPI Processes located on same host share same GPU which is not supported

integer(kind=int32), public, parameter :: DTFFT_ERROR_VKFFT_R2R_2D_PLAN = 204

When using R2R FFT and executor type is vkFFT and plan uses Z-slab optimization, it is required that types of R2R transform are same in X and Y directions

integer(kind=int32), public, parameter :: DTFFT_ERROR_GPU_BACKENDS_DISABLED = 205

Passed effort == DTFFT_PATIENT but all GPU Backends has been disabled by dtfft_config_t */

integer(kind=int32), public, parameter :: DTFFT_ERROR_NOT_DEVICE_PTR = 300

One of pointers passed to plan.execute or plan.transpose cannot be accessed from device

integer(kind=int32), public, parameter :: DTFFT_ERROR_NOT_NVSHMEM_PTR = 301

One of pointers passed to plan.execute or plan.transpose is not an NVSHMEM pointer

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_PLATFORM = 400

Invalid platform provided

integer(kind=int32), public, parameter :: DTFFT_ERROR_INVALID_PLATFORM_EXECUTOR_TYPE = 401

Invalid executor provided for selected platform


Functions

public pure function dtfft_get_error_string(error_code) result(error_string)

Gets the string description of an error code

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: error_code

Error code

Return Value character(len=:), allocatable

Error string