Hello, I want to solve many symmetric linear systems one after another in parallel using boomerAMG + KSPCG and need to make the matrix transfer more efficient. Matrices are symmetric in structure and values. boomerAMG + KSPCG work fine.
So far I have been loading the entire matrices but I read in a paper, that it's sufficient to load the upper part only and tell petsc that the matrix is symmetric using MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE); Unfortunately all computations fail if I load only the upper values and use MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE); The idea is: if (matrix_.symmetric()) { MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE); //load only upper part of the matrix MatSetValues(...) }else //asymmetric matrix { //load the entire matrix MatSetValues(...) } Is it possible at all? Klaus