[petsc-users] MatMult performance on baij vs aij

Karl Rupp rupp at iue.tuwien.ac.at
Thu Aug 24 12:38:33 CDT 2017


> For the same sparse matrix, will the storage format (baij or aij) have a 
> noticeable performance effect on MatMult give the baij may have a 
>   better locality?

The gains are mostly due to the reduced number of indices loaded from 
memory. For normal aij, each floating point number (typically 8 bytes) 
requires an index (typically 4 bytes, unless you use 64 bit indices).

With baij you only need one index per block. For example, if your block 
size is 3x3, only one index for 9 floating point numbers is needed. 
Thus, your performance gains are not going to be dramatic, but still... :-)

Best regards,

More information about the petsc-users mailing list