VecView and MPI IO
Barry Smith
bsmith at mcs.anl.gov
Fri Feb 6 20:02:20 CST 2009
From the manual page
/*@
PetscViewerBinarySkipInfo - Binary file will not have .info file
created with it
Not Collective
Input Paramter:
. viewer - PetscViewer context, obtained from PetscViewerCreate()
Options Database Key:
. -viewer_binary_skip_info
Level: advanced
Notes: This must be called after PetscViewerSetType() but before
PetscViewerFileSetName(). If you use PetscViewerBinaryOpen() then
you can only skip the info file with the -viewer_binary_skip_info
flag. To use the function you must open the
viewer with PetscViewerCreate(), PetscViewerSetType(),
PetscViewerFileSetName().
The .info contains meta information about the data in the binary
file, for example the block size if it was
set for a vector or matrix.
Concepts: PetscViewerBinary^accessing info file
.seealso: PetscViewerBinaryOpen(), PetscViewerBinaryGetDescriptor(),
PetscViewerBinarySetSkipOptions(),
PetscViewerBinaryGetSkipOptions()
@*/
On Feb 6, 2009, at 6:27 PM, Shao-Ching Huang wrote:
> Hi
>
> I am getting a zero-sized file "foo.info" when I write a vector, say
> "my_vec", to disk file "foo":
>
> MPI_Comm comm;
> PetscViewer viewer;
> Vec my_vec;
> ...
> PetscViewerBinaryOpen(comm, "foo", FILE_MODE_WRITE, &viewer);
> VecView(my_vec, viewer);
> PetscViewerDestroy(viewer);
>
> My questions are:
> 1. Can I safely ignore the .info file? (Is it useful?)
> 2. How can I prevent the .info file from being generated?
>
> Thanks,
>
> Shao-Ching
>
>
> Matthew Knepley wrote:
>> On Thu, Feb 5, 2009 at 7:48 PM, Shao-Ching Huang <schuang at ats.ucla.edu
>> > wrote:
>>> Hi,
>>>
>>> I am trying to create restart/check-pointing files for a time-
>>> stepping
>>> simulation (by writing out vectors to files).
>>>
>>> 1. Does VecView always use the MPI collective I/O?
>>>
>>> The HTML documentation of PetscViewerBinaryOpen says: "For writing
>>> files it only opens the file on processor 0 in the communicator."
>> You must run with -viewer_binary_mpiio. However, I recommend very
>> very
>> strongly that you profile this first. We have not need to use MPI/
>> IO below
>> several thousand processors.
>>> 2. Do I have to set anything to enable MPI I/O when configuring
>>> PETSc?
>>> (My MPI library has MPI I/O.)
>> This should happen automatically.
>> Matt
>>> Thank you.
>>>
>>> Shao-Ching
More information about the petsc-users
mailing list