what's the difference between PetscViewerASCIIOpen() and PetscViewerBinaryOpen()?

Matthew Knepley knepley at gmail.com
Wed Jan 23 14:47:11 CST 2008


On Jan 23, 2008 2:18 PM, Yujie <recrusader at gmail.com> wrote:
> Thank you for your further explanation. I just want to use this data in
> other packages. I think that ASCII file is likely better. Because I don't
> know the format of the binary file? how to find it?

Look at MatView_SeqAIJ_Binary() in src/mat/impls/aij/seq/aij.c. The
format is pretty simple.

> In addition, do you have any better methods to save the sparsity structure
> picture of the matrix? Now, I use "-mat_view_draw" to do this. However, the
> speed is very slow and the picture is small. I want to get a big picture and
> directly save it to the disk?
>  could you give me some advice? thanks a lot.

We do not have a better way to make the sparsity picture. I assume you could
write something that decides how many pixels to use, calculates an average
occupancy per pixel, and writes a BMP or something.

  Matt

> Regards,
> Yujie
>
> On 1/23/08, Matthew Knepley <knepley at gmail.com > wrote:
> > On Jan 22, 2008 11:01 PM, Yujie <recrusader at gmail.com> wrote:
> > > Dear Matt:
> > >
> > > thank you for your reply. Do you have any method to generate an ascii
> file
> > > of the huge sparse matrix? thanks
> >
> > I think you miss my point. The PETSc function is not a bad way to generate
> > ASCII matrices. ASCII matrices make "no sense" for large operators.
> >
> >    Matt
> >
> > > Regards,
> > > Yujie
> > >
> > >
> > >
> > > On 1/23/08, Matthew Knepley <knepley at gmail.com> wrote:
> > > > On Jan 22, 2008 8:50 PM, Yujie < recrusader at gmail.com> wrote:
> > > > > Hi everyone:
> > > > >
> > > > > #include "petsc.h"
> > > > >  PetscErrorCode PetscViewerASCIIOpen(MPI_Comm comm,const char
> > > > > name[],PetscViewer *lab)
> > > > >
> > > > > #include "petsc.h"
> > > > >  PetscErrorCode PetscViewerBinaryOpen(MPI_Comm comm,const char
> > > > > name[],PetscFileMode type,PetscViewer *binv)
> > > > >
> > > > > if the difference between them is that one for ASCII output and the
> > > other
> > > > > for Binary output, why are there different parameters?
> > > >
> > > > It is historical. If you want to be generic, you should use
> > > >
> > > >   PetscViewerCreate()
> > > >   PetscViewerSetType()
> > > >   PetscViewerFileSetMode()
> > > >   PetscViewerFileSetName()
> > > >
> > > > which can create both.
> > > >
> > > > > The speed to output matrix is very fast when I use
> > > PetscViewerBinaryOpen.
> > > > > However, when I use PetscViewerASCIIOpen, I can't get the matrix
> output.
> > > the
> > > > > code always is running and it has taken about one day! what's the
> > > problem?
> > > > > thank you.
> > > >
> > > > ASCII files do not make sense for large matrices. You should use
> binary
> > > files.
> > > >
> > > >    Matt
> > > >
> > > > > Regards,
> > > > > Yujie
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > What most experimenters take for granted before they begin their
> > > > experiments is infinitely more interesting than any results to which
> > > > their experiments lead.
> > > > -- Norbert Wiener
> > > >
> > > >
> > >
> > >
> >
> >
> >
> > --
> > What most experimenters take for granted before they begin their
> > experiments is infinitely more interesting than any results to which
> > their experiments lead.
> > -- Norbert Wiener
> >
> >
>
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener




More information about the petsc-users mailing list