[petsc-dev] PETSC_COMM_SELF == 0
Satish Balay
balay at mcs.anl.gov
Tue Mar 31 12:32:21 CDT 2015
1. Check if this is reproduceable with a petsc example for your build.
2. if you run in the debugger - and place a breakpoint in
PetscInitializeFortran() - you should see the following trace.
(gdb) where
#0 PetscInitializeFortran () at /home/balay/petsc/src/sys/objects/ftn-custom/zstartf.c:48
#1 0x00007ffff66c396d in petscinitialize_ (filename=0x603640 <petscfortran1_> "",
ierr=0x7fffffffe0bc, len=80) at /home/balay/petsc/src/sys/objects/ftn-custom/zstart.c:398
#2 0x0000000000401a42 in MAIN__ () at ex2f.F:102
(gdb) n
50 if (PETSC_COMM_WORLD) c1 = MPI_Comm_c2f(PETSC_COMM_WORLD);
(gdb) p c1
$1 = 0
(gdb) n
51 c2 = MPI_Comm_c2f(PETSC_COMM_SELF);
(gdb) p c1
$2 = 1140850688
Satish
On Tue, 31 Mar 2015, Mark Adams wrote:
> I'm not sure where we are. My code works on Edison but fails on OSX.
> Should I call PetscInitializeFortran? I do not have a C main.
>
>
> On Tue, Mar 31, 2015 at 12:14 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> >
> > PetscErrorCode PetscInitializeFortran(void)
> > {
> > MPI_Fint c1=0,c2=0;
> >
> > if (PETSC_COMM_WORLD) c1 = MPI_Comm_c2f(PETSC_COMM_WORLD);
> > c2 = MPI_Comm_c2f(PETSC_COMM_SELF);
> > petscsetcommonblock_(&c1,&c2);
> >
> > Note that this routine is called automatically by the Fortran
> > petscinitialize function.
> >
> > Barry
> >
> > > On Mar 31, 2015, at 10:19 AM, Matthew Knepley <knepley at gmail.com> wrote:
> > >
> > > On Tue, Mar 31, 2015 at 10:13 AM, Mark Adams <mfadams at lbl.gov> wrote:
> > > No, I don't have a C main program (like the doc says).
> > >
> > > I can see COMM_WORLD set in the Fortran initialize wrapper, but where is
> > COMM_SELF set?
> > >
> > > MAtt
> > >
> > > On Tue, Mar 31, 2015 at 11:05 AM, Matthew Knepley <knepley at gmail.com>
> > wrote:
> > > On Tue, Mar 31, 2015 at 5:44 AM, Mark Adams <mfadams at lbl.gov> wrote:
> > > I'm finding that my fortran code on OSX has PETSC_COMM_SELF == 0.
> > >
> > > I can not find where PETSC_COMM_SELF is created.
> > >
> > > Its set in PetscInitializeFortran(). Did you call that?
> > >
> > > Matt
> > >
> > >
> > > Mark
> > >
> > >
> > >
> > > --
> > > 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-dev
mailing list