### Questions/problems related to CSR usage in LSDalton

Posted:

**09 Oct 2017, 11:41**Hello,

When doing some tests using LSDalton with MKL compressed sparse row (CSR) matrices (using LSDalton built using --csr and MKL and then using .CSR in the input file) the follwing problems and questions came up:

(1) The sparsity output from ".INFO_SPARSITY" seems wrong, it always shows either 100% or 0% sparsity. See file LSDALTON_strange_sparsity.OUT

(2) Some calculations fail with this error: "ARH: Linear equations not converged". See file LSDALTON_ARH_conv_problem.OUT. Is there any way to get around this problem?

(3) Sometimes calculations fail with this error: "Exchange Called with nonsym Dmat". See file LSDALTON_nonsym_Dmat.OUT (the error message was printed to stderr). Is there any way to get around this problem?

(4) If not using CSR, is there no sparsity at all in the matrices in that case? I thought so at first but then I noticed that the ".INFO_SPARSITY" printouts do show some sparsity even if CSR us not used, so then I got confused.

(5) Can CSR be used together with ScaLAPACK? I may be wrong but it seems like CSR is not really used in that case, so that it is not really meaningful to use .CSR and .SCALAPACK at the same time, is that correct?

(6) Does the choice to use CSR or not affect the performance of the Fock matrix construction? If I want the Fock matrix construction to be as fast as possible, is it then best to use CSR or not, or should it not make any difference? Some tests I did so far showed that Fock matrix construction was faster without CSR, but maybe the molecule size was still too small. I am thinking that in principle using CSR should be necessary for linear scaling Fock matrix construction since otherwise all density matrix elements would need to be considered, in principle giving quadratic scaling even if the elements were extremely small. Is that right, or have I misunderstood something?

/ Elias

When doing some tests using LSDalton with MKL compressed sparse row (CSR) matrices (using LSDalton built using --csr and MKL and then using .CSR in the input file) the follwing problems and questions came up:

(1) The sparsity output from ".INFO_SPARSITY" seems wrong, it always shows either 100% or 0% sparsity. See file LSDALTON_strange_sparsity.OUT

(2) Some calculations fail with this error: "ARH: Linear equations not converged". See file LSDALTON_ARH_conv_problem.OUT. Is there any way to get around this problem?

(3) Sometimes calculations fail with this error: "Exchange Called with nonsym Dmat". See file LSDALTON_nonsym_Dmat.OUT (the error message was printed to stderr). Is there any way to get around this problem?

(4) If not using CSR, is there no sparsity at all in the matrices in that case? I thought so at first but then I noticed that the ".INFO_SPARSITY" printouts do show some sparsity even if CSR us not used, so then I got confused.

(5) Can CSR be used together with ScaLAPACK? I may be wrong but it seems like CSR is not really used in that case, so that it is not really meaningful to use .CSR and .SCALAPACK at the same time, is that correct?

(6) Does the choice to use CSR or not affect the performance of the Fock matrix construction? If I want the Fock matrix construction to be as fast as possible, is it then best to use CSR or not, or should it not make any difference? Some tests I did so far showed that Fock matrix construction was faster without CSR, but maybe the molecule size was still too small. I am thinking that in principle using CSR should be necessary for linear scaling Fock matrix construction since otherwise all density matrix elements would need to be considered, in principle giving quadratic scaling even if the elements were extremely small. Is that right, or have I misunderstood something?

/ Elias