DBCSR
References: Borstnik2014, Schuett2016
Configuration options for the DBCSR library. [Edit on GitHub]
Keywords
Keyword descriptions
- AVG_ELEMENTS_IMAGES
Type: integer
Default: 0
Usage: avg_elements_images 10000Description: Average number of elements (dense limit) for each image, which also corresponds to the average number of elements exchanged between MPI processes during the operations. A negative or zero value means unlimited.
- COMM_THREAD_LOAD
Type: integer
Default: -1
Usage: comm_thread_load 50Description: If a communications thread is used, specify how much multiplication workload (%) the thread should perform in addition to communication tasks. A negative value leaves the decision up to DBCSR.
- MAX_ELEMENTS_PER_BLOCK
Type: integer
Default: 32
Usage: MAX_ELEMENTS_PER_BLOCK 32Description: Default block size for turning dense matrices in blocked ones
- MM_DRIVER
Type: enum
Default: AUTO
Usage: mm_driver blasDescription: Select which backend to use preferably for matrix block multiplications on the host.
Valid values:
AUTOChoose automatically the best available driverBLASBLAS (requires the BLAS library at link time)MATMULFortran MATMULSMMLibrary optimised for Small Matrix Multiplies (requires the SMM library at link time)XSMMLIBXSMM
References: Heinecke2016
- MM_STACK_SIZE
Type: integer
Default: -1
Usage: mm_stack_size 1000Description: Size of multiplication parameter stack. A negative value leaves the decision up to DBCSR.
- MULTREC_LIMIT
Type: integer
Default: 512Description: Recursion limit of cache oblivious multrec algorithm.
- NUM_LAYERS_3D
Type: integer
Default: 1
Usage: num_layers_3D 1Description: Number of layers for the 3D multplication algorithm.
- NUM_MULT_IMAGES
Type: integer
Default: 1
Usage: num_mult_images 2Description: Multiplicative factor for number of virtual images.
- N_SIZE_MNK_STACKS
Type: integer
Default: 3
Usage: n_size_mnk_stacks 2Description: Number of stacks to use for distinct atomic sizes (e.g., 2 for a system of mostly waters).
- USE_COMM_THREAD
Type: logical
Default: T
Usage: use_comm_thread TDescription: During multiplication, use a thread to periodically poll MPI to progress outstanding message completions. This is beneficial on systems without a DMA-capable network adapter e.g. Cray XE6.
- USE_MEMPOOLS_CPU
Type: logical
Default: FDescription: Enable memory pools on the CPU.
- USE_MPI_ALLOCATOR
Type: logical
Default: F
Usage: use_mpi_allocator TDescription: Use MPI allocator to allocate buffers used in MPI communications.
- USE_MPI_RMA
Type: logical
Default: F
Usage: use_mpi_rma FDescription: Use RMA for MPI communications for each image, which also corresponds to the number of elements exchanged between MPI processes during the operations.