Documentation for module dbcsr_config

Configuration options for DBCSR

source: dbcsr_config.F
Loading...

public Subroutines/Functions:

...
Prints configuration for DBCSR
...

Parameters:

REAL(dp)
:: default_resize_factor = 1.2_dp
LOGICAL
:: has_acc = .false.
LOGICAL
:: has_mpi = .true.
INTEGER
:: mm_driver_auto = 0
INTEGER
:: mm_driver_blas = 2
INTEGER
:: mm_driver_matmul = 1
INTEGER
:: mm_driver_smm = 3
INTEGER
:: mm_driver_xsmm = 4

Module variables:

PROTECTED :: dbcsr_cfg = dbcsr_config_type()

SUBROUTINEdbcsr_get_default_config(use_mpi_allocator, mm_stack_size, avg_elements_images, num_mult_images, nstacks, use_mpi_rma, num_layers_3d, use_comm_thread, comm_thread_load, multrec_limit, accdrv_priority_streams, accdrv_priority_buffers, accdrv_posterior_streams, accdrv_posterior_buffers, accdrv_avoid_after_busy, accdrv_min_flop_process, accdrv_min_flop_sort, accdrv_do_inhomogenous, accdrv_binning_nbins, accdrv_binning_binsize)

...

Arguments:
LOGICAL,
INTENT(out),
OPTIONAL
:: use_mpi_allocator ...
INTEGER,
INTENT(out),
OPTIONAL
:: mm_stack_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: avg_elements_images ...
INTEGER,
INTENT(out),
OPTIONAL
:: num_mult_images ...
INTEGER,
INTENT(out),
OPTIONAL
:: nstacks ...
LOGICAL,
INTENT(out),
OPTIONAL
:: use_mpi_rma ...
INTEGER,
INTENT(out),
OPTIONAL
:: num_layers_3d ...
LOGICAL,
INTENT(out),
OPTIONAL
:: use_comm_thread ...
INTEGER,
INTENT(out),
OPTIONAL
:: comm_thread_load ...
INTEGER,
INTENT(out),
OPTIONAL
:: multrec_limit ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_priority_streams ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_priority_buffers ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_posterior_streams ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_posterior_buffers ...
LOGICAL,
INTENT(out),
OPTIONAL
:: accdrv_avoid_after_busy ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_min_flop_process ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_min_flop_sort ...
LOGICAL,
INTENT(out),
OPTIONAL
:: accdrv_do_inhomogenous ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_binning_nbins ...
INTEGER,
INTENT(out),
OPTIONAL
:: accdrv_binning_binsize ...

SUBROUTINEdbcsr_print_config(unit_nr)

Prints configuration for DBCSR

Arguments:
INTEGER,
INTENT(in)
:: unit_nr ...

SUBROUTINEdbcsr_set_config(mm_driver, use_mpi_allocator, mm_stack_size, avg_elements_images, num_mult_images, nstacks, use_mpi_rma, num_layers_3d, use_comm_thread, comm_thread_load, multrec_limit, accdrv_priority_streams, accdrv_priority_buffers, accdrv_posterior_streams, accdrv_posterior_buffers, accdrv_avoid_after_busy, accdrv_min_flop_process, accdrv_min_flop_sort, accdrv_do_inhomogenous, accdrv_binning_nbins, accdrv_binning_binsize)

...

Arguments:
CHARACTER(*),
INTENT(in),
OPTIONAL
:: mm_driver ...
LOGICAL,
INTENT(in),
OPTIONAL
:: use_mpi_allocator ...
INTEGER,
INTENT(in),
OPTIONAL
:: mm_stack_size ...
INTEGER,
INTENT(in),
OPTIONAL
:: avg_elements_images Maximum number of elements for each image
INTEGER,
INTENT(in),
OPTIONAL
:: num_mult_images Multiplicative factor for number of virtual images
INTEGER,
INTENT(in),
OPTIONAL
:: nstacks Number of stacks to use
LOGICAL,
INTENT(in),
OPTIONAL
:: use_mpi_rma RMA algorithm
INTEGER,
INTENT(in),
OPTIONAL
:: num_layers_3d 3D layers
LOGICAL,
INTENT(in),
OPTIONAL
:: use_comm_thread ...
INTEGER,
INTENT(in),
OPTIONAL
:: comm_thread_load ...
INTEGER,
INTENT(in),
OPTIONAL
:: multrec_limit ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_priority_streams ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_priority_buffers ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_posterior_streams ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_posterior_buffers ...
LOGICAL,
INTENT(in),
OPTIONAL
:: accdrv_avoid_after_busy ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_min_flop_process ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_min_flop_sort ...
LOGICAL,
INTENT(in),
OPTIONAL
:: accdrv_do_inhomogenous ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_binning_nbins ...
INTEGER,
INTENT(in),
OPTIONAL
:: accdrv_binning_binsize ...

private Parameters/Types:

private Types:

TYPE :: dbcsr_config_type

...


INTEGER
:: mm_driver = MM_DEFAULT_DRIVER ...
INTEGER
:: mm_stack_size = MM_STACK_DEFAULT_SIZE ...
INTEGER
:: avg_elements_images = -1 ...
INTEGER
:: num_mult_images = 1 ...
INTEGER
:: nm_stacks = 3 ...
INTEGER
:: nn_stacks = 3 ...
INTEGER
:: nk_stacks = 3 ...
LOGICAL
:: use_mpi_rma = .FALSE. ...
INTEGER
:: num_layers_3d = 1 ...
LOGICAL
:: use_comm_thread = .TRUE. ...
INTEGER
:: comm_thread_load = 100 ...
INTEGER
:: multrec_limit = 512 ...
INTEGER
:: accdrv_priority_streams = 4 ...
INTEGER
:: accdrv_priority_buffers = 40 ...
INTEGER
:: accdrv_posterior_streams = 4 ...
INTEGER
:: accdrv_posterior_buffers = 80 ...
LOGICAL
:: accdrv_avoid_after_busy = .FALSE. ...
INTEGER
:: accdrv_min_flop_process = 0 ...
INTEGER
:: accdrv_min_flop_sort = 4000 ...
LOGICAL
:: accdrv_do_inhomogenous = .TRUE. ...
INTEGER
:: accdrv_binning_nbins = 4096 ...
INTEGER
:: accdrv_binning_binsize = 16 ...