[petsc-users] Storage space for symmetric (SBAIJ) matrix

Jed Brown jed at 59A2.org
Tue Sep 21 09:44:56 CDT 2010


On Tue, Sep 21, 2010 at 16:35, Daniel Langr <daniel.langr at gmail.com> wrote:
> Our preliminary idea is to construct a matrix with some legacy code, store
> matrix into a file (as we would do anyway for checkpointing purposes) and
> then load it into a solver. We are free to choose matrix storage scheme for
> a file, so we could prepare data to be in the format of arrays to be loaded
> into PETSc. For binary I/O we are experimenting with parallel HDF5
> capabilities using MPI-I/O underneath. (PETSc has a HDF5 viewer, but if I am
> not wrong, it does not use parallel I/O). For really big problems parallel
> I/O is a must for us.

PETSc's HDF5 viewer does not currently write matrices.  Any overhead
in PETSc will be dwarfed by the cost of writing to the file (even
using MPI-IO).  I recommend against writing the actual matrix to a
file, just write the state (much less data, but an equivalent amount
of information because it's enough to produce the matrix).  Also, if
you can choose the file format, then just build an SBAIJ in memory,
VecView it if necessary (this uses collective MPI-IO), and use the
SBAIJ.

> We are solving a nuclear structure problem, particularly a symmetry-adapted
> no-core shell model computations of a nuclei. (I do not understand much that
> kind of physics, my part is the eigensolver :).

These problems usually have a few nonzeros per row, so don't worry
about the two auxiliary arrays for dynamic assembly, they will be
trivially small compared to the rest.

Jed


More information about the petsc-users mailing list