dtfft_interface_mkl_m Module

This module creates C interface with MKL library


Uses

  • module~~dtfft_interface_mkl_m~~UsesGraph module~dtfft_interface_mkl_m dtfft_interface_mkl_m iso_c_binding iso_c_binding module~dtfft_interface_mkl_m->iso_c_binding module~dtfft_utils dtfft_utils module~dtfft_interface_mkl_m->module~dtfft_utils module~dtfft_utils->iso_c_binding iso_fortran_env iso_fortran_env module~dtfft_utils->iso_fortran_env module~dtfft_parameters dtfft_parameters module~dtfft_utils->module~dtfft_parameters mpi_f08 mpi_f08 module~dtfft_utils->mpi_f08 module~dtfft_parameters->iso_c_binding module~dtfft_parameters->iso_fortran_env module~dtfft_parameters->mpi_f08

Used by

  • module~~dtfft_interface_mkl_m~~UsedByGraph module~dtfft_interface_mkl_m dtfft_interface_mkl_m module~dtfft_executor_mkl_m dtfft_executor_mkl_m module~dtfft_executor_mkl_m->module~dtfft_interface_mkl_m module~dtfft_plan dtfft_plan module~dtfft_plan->module~dtfft_executor_mkl_m module~dtfft dtfft module~dtfft->module~dtfft_plan module~dtfft_api dtfft_api module~dtfft_api->module~dtfft_plan

Interfaces

public interface mkl_dfti_set_value

Sets one particular configuration parameter with the specified configuration value.

  • private function mkl_dfti_set_integer(desc, param, value) result(status) bind(C)

    Sets one particular configuration parameter with integer value.

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: desc

    FFT descriptor.

    integer(kind=c_int), intent(in), value :: param

    Configuration parameter.

    integer(kind=c_int), intent(in), value :: value

    Configuration value.

    Return Value integer(kind=c_long)

    Function completion status.

  • private function mkl_dfti_set_pointer(desc, param, value) result(status) bind(C)

    Sets one particular configuration parameter with pointer value.

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: desc

    FFT descriptor.

    integer(kind=c_int), intent(in), value :: param

    Configuration parameter.

    integer(kind=c_long), intent(in) :: value(*)

    Configuration value.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Allocates the descriptor data structure and initializes it with default configuration values.

  • public function mkl_dfti_create_desc(precision, domain, dim, length, desc) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=c_int), intent(in), value :: precision

    Precision of the transform: DFTI_SINGLE or DFTI_DOUBLE.

    integer(kind=c_int), intent(in), value :: domain

    Forward domain of the transform: DFTI_COMPLEX or DFTI_REAL.

    integer(kind=c_long), intent(in), value :: dim

    Dimension of the transform.

    integer(kind=c_long), intent(in) :: length(*)

    Length of the transform for a one-dimensional transform. Lengths of each dimension for a multi-dimensional transform.

    type(c_ptr) :: desc

    FFT descriptor.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Performs all initialization for the actual FFT computation.

  • public function mkl_dfti_commit_desc(desc) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: desc

    FFT descriptor.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Computes FFT.

  • public function mkl_dfti_execute(desc, in, out, sign) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: desc

    FFT descriptor.

    type(c_ptr), value :: in

    Data to be transformed

    type(c_ptr), value :: out

    The transformed data

    integer(kind=c_int), intent(in), value :: sign

    Sign of transform

    Return Value integer(kind=c_long)

    Function completion status.

interface

Frees the memory allocated for a descriptor.

  • public function mkl_dfti_free_desc(desc) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: desc

    FFT descriptor.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Allocates pointer via mkl_malloc

  • public function mkl_dfti_mem_alloc(alloc_bytes, ptr) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=c_size_t), value :: alloc_bytes

    Number of bytes to allocate.

    type(c_ptr) :: ptr

    Pointer to allocated memory.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Frees pointer via mkl_free

  • public function mkl_dfti_mem_free(ptr) result(status) bind(C)

    Arguments

    Type IntentOptional Attributes Name
    type(c_ptr), value :: ptr

    Pointer to allocated memory.

    Return Value integer(kind=c_long)

    Function completion status.

interface

Generates an error message.

  • private function DftiErrorMessage_c(error_code) result(message) bind(C, name="DftiErrorMessage")

    Arguments

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

    Completion status of a function.

    Return Value type(c_ptr)

    Pointer to message


Functions

public function DftiErrorMessage(error_code) result(string)

Generates an error message.

Arguments

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

Completion status of a function.

Return Value character(len=:), allocatable

Error message