[petsc-users] ASCIIRead error for multiple processors

Matthew Knepley knepley at gmail.com
Thu Apr 4 21:30:20 CDT 2019


On Thu, Apr 4, 2019 at 9:19 PM Yuyun Yang via petsc-users <
petsc-users at mcs.anl.gov> wrote:

> We are probably not going to use hundreds of processors, but i think it
> would be good to just have processor 0 read the input and broadcast that to
> all the other processors. Would that be a possible fix? And what would you
> suggest to work around this problem for now?
>

Explicitly call MPI_Bcast().

   Matt


> Thanks!
> Yuyun
>
> Get Outlook for iOS <https://aka.ms/o0ukef>
> ------------------------------
> *From:* Smith, Barry F. <bsmith at mcs.anl.gov>
> *Sent:* Thursday, April 4, 2019 3:07:37 PM
> *To:* Yuyun Yang
> *Cc:* petsc-users at mcs.anl.gov
> *Subject:* Re: [petsc-users] ASCIIRead error for multiple processors
>
>
>    Currently PetscViewerFileSetName_ASCII() only opens the file on process
> 0 (for read or write) thus when you call PetscViewerASCIIRead() from any
> process but the first it will be reading from an fd that has not been set
> and you could get unpredictable results.
>
>    The implementation and documentation for PetscViewerASCIIRead() is
> buggy.
>
>    There are two possible fixes we could make
>
> 1) have PetscViewerFileSetName_ASCII()  open the file for reading on all
> processes or
> 2) have PetscViewerASCIIRead() generate an error if the process is not
> rank == 0
>
>    Barry
>
> Note that using PetscViewerASCIIRead() from a handful of processes is
> probably fine but having hundreds or thousands of processes open the same
> ASCII file and reading from it will likely not be scalable.
>
>
>
>
> > On Apr 4, 2019, at 3:15 PM, Yuyun Yang via petsc-users <
> petsc-users at mcs.anl.gov> wrote:
> >
> > Hello team,
> >
> > I’m trying to use PetscViewerASCIIRead() to read in a single
> interger/scalar value from an input file. It works for one processor.
> However, when running on multiple processors, I’m getting the below error:
> >
> > [1]PETSC ERROR: Invalid argument
> > [1]PETSC ERROR: Insufficient data, read only 0 < 1 items
> > [1]PETSC ERROR: #1 PetscViewerASCIIRead() line 1054 in
> /usr/local/CLAB-2/petsc-3.6/src/sys/classes/viewer/impls/ascii/filev.c
> >
> > Is there something wrong with how I’m implementing this, or ASCIIRead
> does not work with multiple processors?
> >
> > Thanks,
> > Yuyun
>
>

-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190404/2e9af731/attachment.html>


More information about the petsc-users mailing list