Re: [petsc-dev] Parmetis bug

2019-11-09 Thread Mark Adams via petsc-dev
On Sat, Nov 9, 2019 at 10:51 PM Fande Kong  wrote:

> Hi Mark,
>
> Thanks for reporting this bug. I was surprised because we have sufficient
> heavy tests in moose using partition weights and do not have any issue so
> far.
>
>
I have been pounding on this code with elasticity and have not seen this
issue. I am now looking at Lapacianas and I only see it with pretty large
problems. The example below is pretty minimal (eg, it works with 16 cores
and it works with -dm_refine 4). I have reproduced this on Cori, SUMMIT and
my laptop.


> I will take a shot on this.
>

Thanks, I'll try to take a look at it also. I have seen it in DDT, but did
not dig further. It looked like a typical segv in ParMetis.


>
> Fande,
>
> On Sat, Nov 9, 2019 at 3:08 PM Mark Adams  wrote:
>
>> snes/ex13 is getting a ParMetis segv with GAMG and coarse grid
>> repartitioning. Below shows the branch and how to run it.
>>
>> I've tried valgrind on Cori but it gives a lot of false positives. I've
>> seen this error in DDT but I have not had a chance to dig and try to fix
>> it. At least I know it has something to do with weights.
>>
>> If anyone wants to take a shot at it feel free. This bug rarely happens.
>>
>> The changes use weights and are just a few lines of code (from 1.5 years
>> ago):
>>
>> 12:08 (0455fb9fec...)|BISECTING ~/Codes/petsc$ git bisect bad
>> 0455fb9fecf69cf5cf35948c84d3837e5a427e2e is the first bad commit
>> commit 0455fb9fecf69cf5cf35948c84d3837e5a427e2e
>> Author: Fande Kong 
>> Date:   Thu Jun 21 18:21:19 2018 -0600
>>
>> Let parmetis and ptsotch take edge weights and vertex weights
>>
>>  src/mat/partition/impls/pmetis/pmetis.c | 7 +++
>>  src/mat/partition/impls/scotch/scotch.c | 6 +++---
>>  2 files changed, 10 insertions(+), 3 deletions(-)
>>
>> > mpiexec -n 32 ./ex13 -cells 2,4,4, -dm_refine 5 -simplex 0 -dim 3
>> -potential_petscspace_degree 1 -potential_petscspace_order 1 -pc_type gamg
>> -petscpartitioner_type simple -pc_gamg_repartition
>> true -check_pointer_intensity 0
>>
>


Re: [petsc-dev] [Suggestion] Configure QOL Improvements

2019-11-09 Thread Jed Brown via petsc-dev
Matthew Knepley  writes:

> On Wed, Oct 23, 2019 at 4:59 PM Jed Brown  wrote:
>
>> Matthew Knepley  writes:
>>
>> > That is an unreliable check for Z. You would not eliminate the case
>> > where you give --with-Z, but the check fails, so Z is not available,
>> > but you do not find out until checking X or Y.
>>
>> You can verify that Z works in a fraction of a second, but building X
>> may take minutes.  Work bottom up, verify everything that is given
>> before building anything.
>>
>
> That is exactly what we do now. What are you talking about?

No, it does not.  See how libceed is built before determining that
libpng does not have its required dependency of zlib?

$ time ./configure PETSC_ARCH=ompi-png --download-libceed --download-libpng 
--with-fortran-interfaces=0
===
 Configuring PETSc to compile on your system   
===
=== 

   
  Warning: PETSC_ARCH from environment does not match command-line or name 
of script.  

  Warning: Using from command-line or name of script: ompi-png, ignoring 
environment: ompi-optg  
  
=== 

   
=== 

   
  Trying to download git://https://github.com/CEED/libceed.git for LIBCEED  

   
=== 

   
=== 

   
  Compiling libceed; this may take several minutes  

   
=== 

   
=== 

   
  Installing libceed; this may take several minutes 

   
=== 

   
TESTING: checkDependencies from 
config.packages.libpng(config/BuildSystem/config/package.py:834)
   
***
 UNABLE to CONFIGURE with GIVEN OPTIONS(see configure.log for 
details):
---
Did not find package ZLIB needed by libpng.
Enable the package using --with-zlib or --download-zlib
***

38.987 real   29.069 user   8.760 sys   97.03 cpu


Note that this is most of the way through the configure before
recognizing that anything is missing.  In contrast, spack can tell me in
a fraction of a second that libpng needs zlib.  We should work out the
dependency graph first to make sure it has no unsatisfied nodes, then
check bottom-up that provided stuff works before building.

$ time spack spec libpng
Input spec

libpng

Concretized

libpng@1.6.34%gcc@9.2.0 arch=linux-arch-skylake
^zlib@1.2.11%gcc@9.2.0+optimize+pic+shared arch=linux-arch-skylake

0.407 real   0.358 user   0.034 sys   96.44 cpu


[petsc-dev] Parmetis bug

2019-11-09 Thread Mark Adams via petsc-dev
snes/ex13 is getting a ParMetis segv with GAMG and coarse grid
repartitioning. Below shows the branch and how to run it.

I've tried valgrind on Cori but it gives a lot of false positives. I've
seen this error in DDT but I have not had a chance to dig and try to fix
it. At least I know it has something to do with weights.

If anyone wants to take a shot at it feel free. This bug rarely happens.

The changes use weights and are just a few lines of code (from 1.5 years
ago):

12:08 (0455fb9fec...)|BISECTING ~/Codes/petsc$ git bisect bad
0455fb9fecf69cf5cf35948c84d3837e5a427e2e is the first bad commit
commit 0455fb9fecf69cf5cf35948c84d3837e5a427e2e
Author: Fande Kong 
Date:   Thu Jun 21 18:21:19 2018 -0600

Let parmetis and ptsotch take edge weights and vertex weights

 src/mat/partition/impls/pmetis/pmetis.c | 7 +++
 src/mat/partition/impls/scotch/scotch.c | 6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)

> mpiexec -n 32 ./ex13 -cells 2,4,4, -dm_refine 5 -simplex 0 -dim 3
-potential_petscspace_degree 1 -potential_petscspace_order 1 -pc_type gamg
-petscpartitioner_type simple -pc_gamg_repartition
true -check_pointer_intensity 0