# FM

Configuration options for the full matrices. [Edit on GitHub]

## Keywords

- FORCE_BLOCK_SIZE

- NCOL_BLOCKS

- NROW_BLOCKS

- TYPE_OF_MATRIX_MULTIPLICATION

## Keyword descriptions

FORCE_BLOCK_SIZE: logical = F

  Lone keyword: `T`

  Usage: FORCE_BLOCK_SIZE

  Ensure for small matrices that the layout is compatible with bigger ones, i.e. no subdivision is performed (can break LAPACK). [Edit on GitHub]

NCOL_BLOCKS: integer = 64

  Defines the number of columns per scalapack block in the creation of vlock cyclic dense matrices. Use an internal default if zero or negative. [Edit on GitHub]

NROW_BLOCKS: integer = 64

  Defines the number of rows per scalapack block in the creation of block cyclic dense matrices. Use an internal default if zero or negative. [Edit on GitHub]

TYPE_OF_MATRIX_MULTIPLICATION: enum = SCALAPACK

  Valid values:

  - `SCALAPACK` Standard ScaLAPACK pdgemm

  - `PDGEMM` Alias for ScaLAPACK

  - `COSMA` COSMA is employed. See https://github.com/eth-cscs/COSMA.

  Allows to switch between scalapack pxgemm and COSMA pxgemm. COSMA reduces the communication costs but increases the memory demands. The performance of Scalapack’s pxgemm on GPU’s depends crucially on the BLOCK_SIZES. Make sure optimized kernels are available. [Edit on GitHub]