Initialize the DBCSR library using internal loggers and timer callbacks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | mp_comm | |||
integer, | intent(in), | optional | :: | io_unit | ||
integer, | intent(in), | optional | :: | accdrv_active_device_id |
SUBROUTINE dbcsr_init_lib_def(mp_comm, io_unit, accdrv_active_device_id)
!! Initialize the DBCSR library using internal loggers and timer callbacks
INTEGER, INTENT(IN) :: mp_comm
INTEGER, INTENT(IN), OPTIONAL :: io_unit, accdrv_active_device_id
IF (is_initialized) THEN
! Update ext_io_unit
IF (.NOT. ASSOCIATED(logger) .AND. PRESENT(io_unit)) ext_io_unit = io_unit
RETURN
END IF
CALL dbcsr_init_lib_pre(mp_comm, io_unit, accdrv_active_device_id)
!
! Declare loggers
CALL dbcsr_logger_create(logger, mp_env=mp_env, &
default_global_unit_nr=ext_io_unit, &
close_global_unit_on_dealloc=.FALSE.)
CALL dbcsr_add_default_logger(logger)
CALL dbcsr_logger_release(logger)
! abort/warn hooks
CALL dbcsr_error_handling_setup()
! timeset/timestop hooks
CALL timings_register_hooks()
! timer environment
CALL add_mp_perf_env()
CALL add_timer_env()
!
CALL dbcsr_init_lib_low()
END SUBROUTINE dbcsr_init_lib_def