[petsc-dev] PETSc always recompiles mpi4py petsc4py even when it does not have too

Satish Balay balay at mcs.anl.gov
Sun Oct 11 13:43:53 CDT 2020


now all makefiles are tied together - so don't need '-f ./gmakefile'

But yes - all gmakefile targets need '-j' explicitly. The makefile targets [like all] have a wrapper target that uses '-j' internally.

so one can either do:

make -j4 libs

or add a wrapper targets that does it. [either way - one has to remember the differences - 'libs vs jibs' or 'use -j with libs' etc..]

Satish


On Sun, 11 Oct 2020, Barry Smith wrote:

> 
> 14 characters when 4 does the trick. Eventually I'll fix the petsc4py build, it is now part of PETSc so should behave as well as the rest of PETSc.
> 
> 
> 
> > On Oct 11, 2020, at 8:30 AM, Matthew Knepley <knepley at gmail.com> wrote:
> > 
> > On Sun, Oct 11, 2020 at 9:18 AM Jed Brown <jed at jedbrown.org <mailto:jed at jedbrown.org>> wrote:
> > Not unless you pass -j (or export it in MAKEFLAGS).
> > 
> > So just run make -f ./gmakefile -j 8 if you want a parallel build?
> > 
> >   Matt
> >  
> > On Sun, Oct 11, 2020, at 6:51 AM, Matthew Knepley wrote:
> >> On Sun, Oct 11, 2020 at 4:35 AM Barry Smith <bsmith at petsc.dev <mailto:bsmith at petsc.dev>> wrote:
> >> 
> >> 
> >>> On Oct 11, 2020, at 2:50 AM, Pierre Jolivet <pierre at joliv.et <mailto:pierre at joliv.et>> wrote:
> >>> 
> >>> This actually applies to all packages with builtafterpetsc = 1.
> >> 
> >>   Yes, but now that petsc4py is part of the PETSc repository I would like to just alway have it turned on so now the rebuild is annoying.
> >> 
> >>> I think you want to do make libs instead of make all?
> >> 
> >>   The problem is make libs is not parallel so much slower?
> >> 
> >> make -f ./gmakefile is not parallel?
> >> 
> >>   Matt
> >>  
> >>   Barry
> >> 
> >>> 
> >>> Thanks,
> >>> Pierre
> >>> 
> >>>> On 11 Oct 2020, at 9:36 AM, Barry Smith <bsmith at petsc.dev <mailto:bsmith at petsc.dev>> wrote:
> >>>> 
> >>>> 
> >>>>   I change a single PETSc file and do make all that single file gets compiled but all of mpi4py and petsc4py get recompiled even though I have not changed any thing to affect them. No include files for example
> >>>> 
> >>>> 
> >>>> *** Building mpi4py ***
> >>>> *** Installing mpi4py ***
> >>>> =====================================
> >>>> To use mpi4py, add /Users/barrysmith/Src/petsc/arch-cleanup-dmd-domaindecomposition/lib to PYTHONPATH
> >>>> =====================================
> >>>> *** Building petsc4py ***
> >>>> 
> >>> 
> >>> 
> >> 
> >> 
> >> 
> >> 
> >> -- 
> >> 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/>
> > 
> > 
> > -- 
> > 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/>
> 
> 



More information about the petsc-dev mailing list