Thanks, Satish,

I’m going to use MAKE_NP 

Fande 

Sent from my iPhone

> On Jul 24, 2018, at 4:26 PM, Satish Balay <[email protected]> wrote:
> 
> I hate html e-mail which doesn't add reply markers - can't figure out easily 
> what you saying :(
> 
>>> However some older make version might not display this info properly. [it 
>>> should use the user specified '-j' value though]
>> 
>> This confused me, and now I understood.  But it is misleading. Could we do 
>> something at the PETSc side regardless the make version? At least display 
>> the user-specified value not the default value.  I thought my "-j" did not 
>> change anything.
> 
> Thats a 'make' issue. you are specifying options to make. So we have no 
> control on it [unless make tells us - and this mode is buggy on the OSX 
> default make version].
> 
> The only option we have is : not print anything. I think thats a bad option.
> 
> You have alternatives:
> 
> - use a newer make with --download-make
> 
> - or use MAKE_NP
> 
> Satish
> 
>> On Tue, 24 Jul 2018, Fande Kong wrote:
>> 
>> 
>> 
>> 
>> ________________________________
>> From: Satish Balay <[email protected]>
>> Sent: Tuesday, July 24, 2018 4:06 PM
>> To: Fande Kong
>> Cc: Jed Brown; For users of the development version of PETSc
>> Subject: Re: [petsc-dev] could we let "make -j N" work for PETSc and 
>> external packages?
>> 
>> PETSc configure sets up a default value that always gets used.
>> 
>>>>>>>>> 
>> balay@asterix /home/balay/tmp/petsc (maint=)
>> $ make
>> <snip>
>> Using MAKEFLAGS: -j4 -l6.0 w -- PETSC_DIR=/home/balay/tmp/petsc 
>> PETSC_ARCH=arch-linux2-c-debug
>> <<<
>> 
>> You can always override this default by adding a -j option. [since the
>> user specified -j value comes at the end - it overrides the one that
>> is specified at the begining of make command]
>> 
>>>>>>>>>>>> 
>> balay@asterix /home/balay/tmp/petsc (maint=)
>> $ make -j20
>> <snip>
>> Using MAKEFLAGS: -j4 -l6.0 w -j20 --jobserver-auth=3,4 -- 
>> PETSC_DIR=/home/balay/tmp/petsc PETSC_ARCH=arch-linux2-c-debug
>> <<<<<<<<<<
>> 
>> 
>> However some older make version might not display this info properly. [it 
>> should use the user specified '-j' value though]
>> 
>> This confused me, and now I understood.  But it is misleading. Could we do 
>> something at the PETSc side regardless the make version? At least display 
>> the user-specified value not the default value.  I thought my "-j" did not 
>> change anything.
>> 
>> Fande,
>> 
>>>>>>>>> 
>> [petsc@ipro petsc.maint ((879a78556f...))]$ make -j2
>> Using MAKEFLAGS: -j7 -l12.0 w --jobserver-fds=3,4 -j -- 
>> PETSC_DIR=/Users/petsc/petsc.maint PETSC_ARCH=arch-osx-10.6
>> <<<<<<<
>> 
>> You can use the alternate mode - just modify the default '-j' value used 
>> MAKE_NP
>> 
>>>>>>>>>> 
>> [petsc@ipro petsc.maint ((879a78556f...))]$ make MAKE_NP=2
>> Using MAKEFLAGS: -j2 -l12.0 w -- PETSC_DIR=/Users/petsc/petsc.maint 
>> PETSC_ARCH=arch-osx-10.6 MAKE_NP=2
>> <<<<<<<
>> 
>> Or you can control this default value at configure time [this affects 
>> externalpackage builds]
>> 
>> ./configure --with-make-np=2
>> 
>> Satish
>> 
>> 
>>> On Tue, 24 Jul 2018, Fande Kong wrote:
>>> 
>>> Thanks, Jed and Satish,
>>> 
>>> 
>>> But "make -j N" does not change anything when compiling petsc.
>>> 
>>> 
>>> 
>>> If I do something like: "make -j whatever". Then I always get:
>>> 
>>> 
>>> Using MAKEFLAGS: -j8 -l36.0 w
>>> 
>>> 
>>> It looks like PETSc always uses "-j something" that we can not change using 
>>> the command-line.
>>> 
>>> 
>>> Is it a bug?
>>> 
>>> 
>>> 
>>> Fande,
>>> 
>>> 
>>> 
>>> ________________________________
>>> From: Jed Brown <[email protected]>
>>> Sent: Tuesday, July 24, 2018 3:44 PM
>>> To: Fande Kong; For users of the development version of PETSc
>>> Subject: Re: [petsc-dev] could we let "make -j N" work for PETSc and 
>>> external packages?
>>> 
>>> Fande Kong <[email protected]> writes:
>>> 
>>>> Hi Developers,
>>>> 
>>>> 
>>>> Could we somehow let "make -j N" to take multiple threads for compiling 
>>>> PETSc. Do we use multiple threads when compiling the external packages 
>>>> such as hypre, parmetis etc.?
>>> 
>>> Yes, see self.parallelMake=0 for the few packages that don't support 
>>> parallel make.
>>> 
>> 
>> 
> 

Reply via email to