Configuration options for DBCSR
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_config' | |
real(kind=dp), | public, | parameter | :: | default_resize_factor | = | 1.2_dp | |
integer, | private, | parameter | :: | max_paramter_name_len | = | 100 | |
integer, | private, | parameter | :: | max_paramter_value_len | = | 100 | |
integer, | public, | parameter | :: | mm_driver_auto | = | 0 | |
integer, | public, | parameter | :: | mm_driver_matmul | = | 1 | |
integer, | public, | parameter | :: | mm_driver_blas | = | 2 | |
integer, | public, | parameter | :: | mm_driver_smm | = | 3 | |
integer, | public, | parameter | :: | mm_driver_xsmm | = | 4 | |
character(len=*), | private, | parameter | :: | mm_name_auto | = | "AUTO" | |
character(len=*), | private, | parameter | :: | mm_name_blas | = | "BLAS" | |
character(len=*), | private, | parameter | :: | mm_name_matmul | = | "MATMUL" | |
character(len=*), | private, | parameter | :: | mm_name_smm | = | "SMM" | |
character(len=*), | private, | parameter | :: | mm_name_xsmm | = | "XSMM" | |
logical, | private, | parameter | :: | has_smm | = | .FALSE. | |
logical, | private, | parameter | :: | has_smm_vec | = | .FALSE. | |
logical, | private, | parameter | :: | has_xsmm | = | .FALSE. | |
logical, | public, | parameter | :: | has_acc | = | .FALSE. | |
logical, | public, | parameter | :: | has_MPI | = | .FALSE. | |
integer, | private, | parameter | :: | mm_stack_default_size_cpu | = | 1000 | |
integer, | private, | parameter | :: | mm_stack_default_size_gpu | = | 30000 | |
integer, | private, | parameter | :: | mm_stack_default_size | = | mm_stack_default_size_cpu | |
logical, | private, | parameter | :: | mm_dense_default_cpu | = | .TRUE. | |
logical, | private, | parameter | :: | mm_dense_default_gpu | = | .FALSE. | |
logical, | private, | parameter | :: | mm_dense_default | = | mm_dense_default_cpu | |
integer, | private, | parameter | :: | mm_default_driver | = | mm_driver_blas | |
type(dbcsr_config_type), | public, | SAVE | :: | dbcsr_cfg | = | dbcsr_config_type() | |
integer, | public, | parameter | :: | max_kernel_dim | = | 80 | |
integer, | private, | parameter | :: | default_accdrv_active_device_id | = | -1 | |
integer, | private | :: | accdrv_active_device_id | = | default_accdrv_active_device_id |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | public | :: | source | = | 'D' | ||
character(len=max_paramter_name_len), | public | :: | name | = | "" |
procedure, public, non_overridable :: env_value => conf_par_env_value | |
procedure, public, non_overridable :: print_source |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | public | :: | source | = | 'D' | ||
character(len=max_paramter_name_len), | public | :: | name | = | "" | ||
integer, | public | :: | val | = | -1 | ||
integer, | public | :: | defval | = | -1 | ||
logical, | public | :: | ensure_positive | = | .TRUE. |
procedure, public, non_overridable :: env_value => conf_par_env_value | |
procedure, public, non_overridable :: print_source | |
procedure, public :: set => set_conf_par_int |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | public | :: | source | = | 'D' | ||
character(len=max_paramter_name_len), | public | :: | name | = | "" | ||
integer, | public | :: | val | = | -1 | ||
integer, | public | :: | defval | = | -1 |
procedure, public, non_overridable :: env_value => conf_par_env_value | |
procedure, public, non_overridable :: print_source | |
procedure, public :: set => set_conf_par_mm_driver |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | public | :: | source | = | 'D' | ||
character(len=max_paramter_name_len), | public | :: | name | = | "" | ||
logical, | public | :: | val | = | .FALSE. | ||
logical, | public | :: | defval | = | .FALSE. |
procedure, public, non_overridable :: env_value => conf_par_env_value | |
procedure, public, non_overridable :: print_source | |
procedure, public :: set => set_conf_par_logical |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=1), | public | :: | source | = | 'D' | ||
character(len=max_paramter_name_len), | public | :: | name | = | "" | ||
real(kind=real_8), | public | :: | val | = | -1 | ||
real(kind=real_8), | public | :: | defval | = | -1 |
procedure, public, non_overridable :: env_value => conf_par_env_value | |
procedure, public, non_overridable :: print_source | |
procedure, public :: set => set_conf_par_real |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(CONF_PAR_MM_DRIVER), | public | :: | MM_DRIVER | = | CONF_PAR_MM_DRIVER(name="MM_DRIVER", val=mm_default_driver, defval=mm_default_driver) | ||
type(CONF_PAR_INT), | public | :: | MM_STACK_SIZE | = | CONF_PAR_INT(name="MM_STACK_SIZE", val=mm_stack_default_size, defval=mm_stack_default_size) | ||
type(CONF_PAR_INT), | public | :: | AVG_ELEMENTS_IMAGES | = | CONF_PAR_INT(name="AVG_ELEMENTS_IMAGES", val=0, defval=0) | ||
type(CONF_PAR_INT), | public | :: | NUM_MULT_IMAGES | = | CONF_PAR_INT(name="NUM_MULT_IMAGES", val=1, defval=1) | ||
type(CONF_PAR_INT), | public | :: | N_STACKS | = | CONF_PAR_INT(name="N_STACKS", val=3, defval=3) | ||
type(CONF_PAR_LOGICAL), | public | :: | USE_MPI_RMA | = | CONF_PAR_LOGICAL(name="USE_MPI_RMA", val=.FALSE., defval=.FALSE.) | ||
type(CONF_PAR_INT), | public | :: | NUM_LAYERS_3D | = | CONF_PAR_INT(name="NUM_LAYERS_3D", val=1, defval=1) | ||
type(CONF_PAR_LOGICAL), | public | :: | USE_COMM_THREAD | = | CONF_PAR_LOGICAL(name="USE_COMM_THREAD", val=.TRUE., defval=.TRUE.) | ||
type(CONF_PAR_INT), | public | :: | COMM_THREAD_LOAD | = | CONF_PAR_INT(name="COMM_THREAD_LOAD", val=100, defval=100) | ||
type(CONF_PAR_LOGICAL), | public | :: | MM_DENSE | = | CONF_PAR_LOGICAL(name="MM_DENSE", val=mm_dense_default, defval=mm_dense_default) | ||
type(CONF_PAR_INT), | public | :: | MULTREC_LIMIT | = | CONF_PAR_INT(name="MULTREC_LIMIT", val=512, defval=512) | ||
type(CONF_PAR_LOGICAL), | public | :: | RUN_ON_GPU | = | CONF_PAR_LOGICAL(name="RUN_ON_GPU", val=.TRUE., defval=.TRUE.) | ||
type(CONF_PAR_INT), | public | :: | ACCDRV_THREAD_BUFFERS | = | CONF_PAR_INT(name="ACCDRV_THREAD_BUFFERS", val=8, defval=8) | ||
type(CONF_PAR_LOGICAL), | public | :: | ACCDRV_AVOID_AFTER_BUSY | = | CONF_PAR_LOGICAL(name="ACCDRV_AVOID_AFTER_BUSY", val=.FALSE., defval=.FALSE.) | ||
type(CONF_PAR_INT), | public | :: | ACCDRV_MIN_FLOP_PROCESS | = | CONF_PAR_INT(name="ACCDRV_MIN_FLOP_PROCESS", val=0, defval=0) | ||
type(CONF_PAR_LOGICAL), | public | :: | ACCDRV_STACK_SORT | = | CONF_PAR_LOGICAL(name="ACCDRV_STACK_SORT", val=.TRUE., defval=.TRUE.) | ||
type(CONF_PAR_INT), | public | :: | ACCDRV_MIN_FLOP_SORT | = | CONF_PAR_INT(name="ACCDRV_MIN_FLOP_SORT", val=4000, defval=4000) | ||
type(CONF_PAR_LOGICAL), | public | :: | ACCDRV_DO_INHOMOGENOUS | = | CONF_PAR_LOGICAL(name="ACCDRV_DO_INHOMOGENOUS", val=.TRUE., defval=.TRUE.) | ||
type(CONF_PAR_INT), | public | :: | ACCDRV_BINNING_NBINS | = | CONF_PAR_INT(name="ACCDRV_BINNING_NBINS", val=4096, defval=4096) | ||
type(CONF_PAR_INT), | public | :: | ACCDRV_BINNING_BINSIZE | = | CONF_PAR_INT(name="ACCDRV_BINNING_BINSIZE", val=16, defval=16) | ||
type(CONF_PAR_LOGICAL), | public | :: | USE_MEMPOOLS_CPU | = | CONF_PAR_LOGICAL(name="USE_MEMPOOLS_CPU", val=.FALSE., defval=.FALSE.) | ||
type(CONF_PAR_LOGICAL), | public | :: | USE_MPI_ALLOCATOR | = | CONF_PAR_LOGICAL(name="USE_MPI_ALLOCATOR", val=.FALSE., defval=.FALSE.) | ||
type(CONF_PAR_REAL), | public | :: | TAS_SPLIT_FACTOR | = | CONF_PAR_REAL(name="TAS_SPLIT_FACTOR", val=1.0_real_8, defval=1.0_real_8) | ||
type(CONF_PAR_LOGICAL), | public | :: | USE_ACC_G2G | = | CONF_PAR_LOGICAL(name="USE_ACC_G2G", val=.FALSE., defval=.FALSE.) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR), | intent(inout) | :: | this | |||
class(*), | intent(out) | :: | env_val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR_INT), | intent(inout) | :: | this | |||
integer, | intent(in), | optional | :: | integer_val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR_MM_DRIVER), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | optional | :: | mm_driver |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR_LOGICAL), | intent(inout) | :: | this | |||
logical, | intent(in), | optional | :: | logical_val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CONF_PAR_REAL), | intent(inout) | :: | this | |||
real(kind=real_8), | intent(in), | optional | :: | real_val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | 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 |
use_mpi_rma RMA algorithm |
|
integer, | intent(in), | optional | :: | num_layers_3D |
num_layers_3D 3D layers |
|
logical, | intent(in), | optional | :: | use_comm_thread | ||
integer, | intent(in), | optional | :: | comm_thread_load | ||
logical, | intent(in), | optional | :: | mm_dense | ||
integer, | intent(in), | optional | :: | multrec_limit | ||
logical, | intent(in), | optional | :: | run_on_gpu | ||
integer, | intent(in), | optional | :: | accdrv_thread_buffers | ||
logical, | intent(in), | optional | :: | accdrv_avoid_after_busy | ||
integer, | intent(in), | optional | :: | accdrv_min_flop_process | ||
logical, | intent(in), | optional | :: | accdrv_stack_sort | ||
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 | ||
logical, | intent(in), | optional | :: | use_mempools_cpu | ||
real(kind=real_8), | intent(in), | optional | :: | tas_split_factor | ||
logical, | intent(in), | optional | :: | use_acc_g2g |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 | ||
logical, | intent(out), | optional | :: | mm_dense | ||
logical, | intent(out), | optional | :: | run_on_gpu | ||
integer, | intent(out), | optional | :: | multrec_limit | ||
integer, | intent(out), | optional | :: | accdrv_thread_buffers | ||
logical, | intent(out), | optional | :: | accdrv_avoid_after_busy | ||
integer, | intent(out), | optional | :: | accdrv_min_flop_process | ||
logical, | intent(out), | optional | :: | accdrv_stack_sort | ||
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 | ||
logical, | intent(out), | optional | :: | use_mempools_cpu | ||
real(kind=real_8), | intent(out), | optional | :: | tas_split_factor | ||
logical, | intent(out), | optional | :: | use_acc_g2g |
Prints configuration for DBCSR
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit_nr |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | in_accdrv_active_device_id |