dbcsr_lib Module

Routines that affect the DBCSR library as a whole



Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: moduleN = 'dbcsr_lib'
logical, private, SAVE :: is_initialized = .FALSE.
logical, private, SAVE :: check_comm_count = .FALSE.
type(dbcsr_logger_type), private, POINTER :: logger => Null()
type(dbcsr_mp_obj), private, SAVE :: mp_env
type(mp_comm_type), private, SAVE :: default_group = mp_comm_null
integer, private, SAVE :: ext_io_unit

Interfaces

public interface dbcsr_init_lib

  • private subroutine dbcsr_init_lib_def(mp_comm, io_unit, accdrv_active_device_id)

    Initialize the DBCSR library using internal loggers and timer callbacks We do not need this routine within the library, so we keep the communicator as a handle and convert it here to a communicator type

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: mp_comm
    integer, intent(in), optional :: io_unit
    integer, intent(in), optional :: accdrv_active_device_id
  • private subroutine dbcsr_init_lib_hooks(mp_comm, in_timeset_hook, in_timestop_hook, in_abort_hook, in_warn_hook, io_unit, accdrv_active_device_id)

    Initialize the DBCSR library using external loggers and timer callbacks We do not need this routine within the library, so we keep the communicator as a handle and convert it here to a communicator type

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: mp_comm
    procedure(timeset_interface), intent(in), POINTER :: in_timeset_hook
    procedure(timestop_interface), intent(in), POINTER :: in_timestop_hook
    procedure(dbcsr_abort_interface), intent(in), POINTER :: in_abort_hook
    procedure(dbcsr_warn_interface), intent(in), POINTER :: in_warn_hook
    integer, intent(in), optional :: io_unit
    integer, intent(in), optional :: accdrv_active_device_id

Subroutines

private subroutine dbcsr_init_lib_def(mp_comm, io_unit, accdrv_active_device_id)

Initialize the DBCSR library using internal loggers and timer callbacks We do not need this routine within the library, so we keep the communicator as a handle and convert it here to a communicator type

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mp_comm
integer, intent(in), optional :: io_unit
integer, intent(in), optional :: accdrv_active_device_id

private subroutine dbcsr_init_lib_hooks(mp_comm, in_timeset_hook, in_timestop_hook, in_abort_hook, in_warn_hook, io_unit, accdrv_active_device_id)

Initialize the DBCSR library using external loggers and timer callbacks We do not need this routine within the library, so we keep the communicator as a handle and convert it here to a communicator type

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mp_comm
procedure(timeset_interface), intent(in), POINTER :: in_timeset_hook
procedure(timestop_interface), intent(in), POINTER :: in_timestop_hook
procedure(dbcsr_abort_interface), intent(in), POINTER :: in_abort_hook
procedure(dbcsr_warn_interface), intent(in), POINTER :: in_warn_hook
integer, intent(in), optional :: io_unit
integer, intent(in), optional :: accdrv_active_device_id

private subroutine dbcsr_init_lib_pre(mp_comm, io_unit, accdrv_active_device_id)

Initialize the DBCSR library Prepares the DBCSR library for use.

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: mp_comm
integer, intent(in), optional :: io_unit
integer, intent(in), optional :: accdrv_active_device_id

private subroutine dbcsr_init_lib_low()

Initialize the DBCSR library Prepares the DBCSR library for use.

Arguments

None

public subroutine dbcsr_finalize_lib()

Finalize the DBCSR library Cleans up after the DBCSR library. Used to deallocate persistent objects.

Arguments

None

public subroutine dbcsr_print_statistics(print_timers, callgraph_filename)

Show the whole DBCSR statistics Prepares the DBCSR library for use.

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: print_timers
character(len=*), intent(in), optional :: callgraph_filename

private subroutine dbcsr_print_timers()

Print timers

Arguments

None

public subroutine dbcsr_clear_mempools()

Deallocate memory contained in mempools

Arguments

None