Understandable, p4est has its own minimal pseudo-mpi interface, I'll work with Satish and the other p4est devs to a simple way to keep the MPIUNI / MPIP4EST from colliding.
________________________________________ From: Barry Smith <[email protected]> Sent: Friday, April 16, 2021 16:10 To: Isaac, Tobin G Cc: petsc-dev Subject: Re: [petsc-dev] p4est w/o MPI Toby, It was never our intention that MPIUNI support any other packages besides PETSc/SLEPc as an "mpi substitute". There are just so many fragile aspects to it. I think it is is best if p4est maintains its own non-MPI version (if it wants to have such as thing) and does not have it involve MPIUNI. Barry On Apr 16, 2021, at 12:53 PM, Isaac, Tobin G <[email protected]<mailto:[email protected]>> wrote: Hmm. So if petsc always compiles mpiuni if --with-mpi=0, then it makes me think it should be possible to drop requires(MPI) from p4est, while still passing `--enable-mpi` to p4est. Maybe: if mpiuni doesn't provide some esoteric part of MPI that p4est uses, it will break. Toby Isaac, Assistant Professor, GTCSE ________________________________ From: Satish Balay <[email protected]<mailto:[email protected]>> Sent: Friday, April 16, 2021 1:03:55 PM To: Isaac, Tobin G <[email protected]<mailto:[email protected]>> Cc: petsc-dev <[email protected]<mailto:[email protected]>> Subject: Re: [petsc-dev] p4est w/o MPI Thanks! Another issue: mpiuni provides mpi.h. And I get the following errors when building PETSc. /home/balay/petsc/arch-linux-c-debug/include/sc.h:87:2: error: #error "mpi.h is included. Use --enable-mpi." 87 | #error "mpi.h is included. Use --enable-mpi." | ^~~~~ etc.. Satish On Fri, 16 Apr 2021, Isaac, Tobin G wrote: > Yes, `--disable-mpi` should be accepted by p4est. > > ________________________________________ > From: Satish Balay <[email protected]<mailto:[email protected]>> > Sent: Friday, April 16, 2021 11:47 > To: Satish Balay via petsc-dev > Cc: Isaac, Tobin G > Subject: Re: [petsc-dev] p4est w/o MPI > > BTW: Is there no --disable-mpi option? > > Satish > > On Fri, 16 Apr 2021, Satish Balay via petsc-dev wrote: > > > MPI pacakge is a bit weird compared to others [as it does this funny thing > > with MPIUNI]. > > > > For regular packages - I guess I would use 'if package.found' > > > > I guess I should create an MR with this diff. > > > > Satish > > > > ---- > > > > diff --git a/config/BuildSystem/config/packages/p4est.py > > b/config/BuildSystem/config/packages/p4est.py > > index e7108b0ab8..40d6797f02 100644 > > --- a/config/BuildSystem/config/packages/p4est.py > > +++ b/config/BuildSystem/config/packages/p4est.py > > @@ -24,14 +24,16 @@ class Configure(config.package.GNUPackage): > > self.blasLapack = framework.require('config.packages.BlasLapack',self) > > self.zlib = framework.require('config.packages.zlib',self) > > self.memalign = framework.argDB['with-memalign'] > > - self.deps = [self.mpi,self.blasLapack,self.zlib] > > + self.deps = [self.blasLapack,self.zlib] > > + self.odeps = [self.mpi] > > return > > > > def formGNUConfigureArgs(self): > > args = config.package.GNUPackage.formGNUConfigureArgs(self) > > if self.argDB['with-p4est-debugging']: > > args.append('--enable-debug') > > - args.append('--enable-mpi') > > + if not self.mpi.usingMPIUni: > > + args.append('--enable-mpi') > > > > args.append('CPPFLAGS="'+self.headers.toStringNoDupes(self.dinclude)+'"') > > args.append('LIBS="'+self.libraries.toString(self.dlib)+'"') > > args.append('--enable-memalign='+self.memalign) > > > > On Fri, 16 Apr 2021, Isaac, Tobin G wrote: > > > > > Matt, this is the configure logic I would like, but I don't know how to > > > do it: > > > - configure p4est after MPI, but do not require MPI > > > - if MPI is present, add the '--enable-mpi' flack in > > > formGNUConfigureArgs(), otherwise omit it. > > > > > > ________________________________________ > > > From: Isaac, Tobin G <[email protected]<mailto:[email protected]>> > > > Sent: Friday, April 16, 2021 11:03 > > > To: Mark Adams; For users of the development version of PETSc > > > Subject: Re: [petsc-dev] p4est w/o MPI > > > > > > p4est has a mode where it can compile without MPI, I don't know if PETSc > > > is using it, will check. > > > > > > ________________________________________ > > > From: petsc-dev > > > <[email protected]<mailto:[email protected]>> on > > > behalf of Mark Adams <[email protected]<mailto:[email protected]>> > > > Sent: Friday, April 16, 2021 10:23 > > > To: For users of the development version of PETSc > > > Subject: [petsc-dev] p4est w/o MPI > > > > > > I don't have MPI (Fugaku w/ gcc) and p4est seems to need it. Is there a > > > work around? > > > Thanks, > > > Mark > > > > > >
