Skip to content

Compute

Top level configuration for all performance and compute options.

dsdbsparse_type#

dsdbsparse_type: DSDBSparse = DSDBCOO

The type of sparse matrix to use for the DSDBSparse matrices.

Warning

Currently, only DSDBCOO is supported. A CSR type had been implemented, but it is no longer fully supported.

numba_threading_layer#

numba_threading_layer: Literal['workqueue', 'omp', 'tbb'] = 'workqueue'

The threading layer to use for Numba.

We recommend using the default "workqueue" threading layer in numba, as we have had issues with correctly limiting the number of threads when using the "omp" threading layer.

threadpool_api#

threadpool_api: Literal['blas', 'openmp'] | None = None

The threadpool API to use for threadpoolctl.

  • If "blas", it will only limit BLAS supported libraries.
  • If "openmp", it will only limit OpenMP supported libraries. Note that it can affect the number of threads used by the BLAS libraries if they rely on OpenMP.
  • If None, this will apply to all threadpoolctl supported libraries.

numba_num_threads#

numba_num_threads: PositiveInt | None = None

The number of threads to use for Numba.

blas_num_threads#

blas_num_threads: PositiveInt | Literal['sequential_blas_under_openmp'] | None = None

The number of threads to use for BLAS.

convolve#

convolve: ConvolveConfig

Parameters concerning the FFT convolution in scattering interactions.

nevp#

nevp: NEVPConfig

Parameters concerning the solution of non-linear eigenvalue problems.

lyapunov#

lyapunov: LyapunovComputeConfig

Parameters concerning the solution of Lyapunov equations.

band_edge#

band_edge: BandEdgeConfig

Parameters concerning the eigenvalue-based band-edge tracking.

comm#

comm: CommConfig

Parameters concerning the communication backends.