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