mfi_blas_extensions Module

Public API — always available (stubs when no cuBLAS)



Interfaces

public interface mfi_iamax

Generic modern interface for IAMAX. Supports s, d, c, z. See also: isamax, idamax, icamax, izamax.

  • public pure function mfi_isamax(x, incx)

    Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL32), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_idamax(x, incx)

    Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL64), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_icamax(x, incx)

    Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=REAL32), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_izamax(x, incx)

    Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=REAL64), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

public interface mfi_iamin

Generic modern interface for IAMIN. Supports s, d, c, z. See also: isamin, idamin, icamin, izamin.

  • public pure function mfi_isamin(x, incx)

    Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL32), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_idamin(x, incx)

    Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL64), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_icamin(x, incx)

    Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=REAL32), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer

  • public pure function mfi_izamin(x, incx)

    Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=REAL64), intent(in) :: x(:)
    integer, intent(in), optional :: incx

    Return Value integer


Functions

public pure function mfi_isamax(x, incx)

Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL32), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_idamax(x, incx)

Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL64), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_icamax(x, incx)

Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL32), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_izamax(x, incx)

Modern interface for f77_iamax. See also: mfi_iamax, f77_iamax.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL64), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_isamin(x, incx)

Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL32), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_idamin(x, incx)

Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL64), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_icamin(x, incx)

Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL32), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public pure function mfi_izamin(x, incx)

Modern interface for f77_iamin. See also: mfi_iamin, f77_iamin.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL64), intent(in) :: x(:)
integer, intent(in), optional :: incx

Return Value integer

public function mfi_cublas_handle_count() result(n)

Return current cuBLAS handle count (0 when no cuBLAS)

Arguments

None

Return Value integer

public function mfi_cublas_handle_count() result(n)

Arguments

None

Return Value integer

public pure function mfi_cublas_is_active() result(active)

Returns .true. if GPU execution is active (pure, delegates to C)

Arguments

None

Return Value logical

public pure function mfi_cublas_handle_get() result(handle)

Get the cuBLAS handle for the current thread (pure, delegates to C)

Arguments

None

Return Value type(c_ptr)


Subroutines

public subroutine mfi_force_gpu()

Switch to GPU mode (no-op when compiled without cuBLAS)

Arguments

None

public subroutine mfi_force_gpu()

Arguments

None

public subroutine mfi_force_cpu()

Switch to CPU mode (no-op when compiled without cuBLAS)

Arguments

None

public subroutine mfi_force_cpu()

Arguments

None

public subroutine mfi_cublas_finalize()

Finalize all cuBLAS handles (no-op when compiled without cuBLAS)

Arguments

None

public subroutine mfi_cublas_finalize()

Arguments

None

public subroutine mfi_cublas_set_threads(n)

Set number of cuBLAS handles for multi-threaded GPU use (no-op when no cuBLAS)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n

public subroutine mfi_cublas_set_threads(n)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n

public pure subroutine mfi_cublas_error(stat, name)

Report cuBLAS error (called from pure wrappers)

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(in), value :: stat
character(len=*), intent(in) :: name