[petsc-dev] Hypre error on Cray XC30 w/ 64 bit ints

Satish Balay balay at mcs.anl.gov
Wed Sep 4 13:09:47 CDT 2013


On Wed, 4 Sep 2013, Satish Balay wrote:

> On Wed, 4 Sep 2013, Mark F. Adams wrote:
> 
> > 
> > On Sep 4, 2013, at 12:34 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > 
> > > 
> > >   Mark,
> > > 
> > >   Is this problem resolved.
> > 
> > No.  You said:
> > 
> > > 
> > >  Hmm,  from hypre.py I see 
> > > 
> > >    self.requires32bitint = 0
> > > 
> > >  but then in the rest of hypre.py I don't see any different flag being set to compile hypre to use 64 bit integers nor do I see any test that hypre has 64 bit integers enabled.
> > > 
> > >  The hypre configure flag for 64 bit integers is --enable_bigint
> > > 
> > >   Thus I conclude we have a buggy set up in that regard. We should
> > > 
> > > 1) when doing a hypre install pass the configure flag --enable_bigint to hypre when 64 bit indices are used
> > > 
> > > 2) add an additional test to hypre configure when 64 bit indices to make sure hypre is using 64 indices. Will need to figure out a portable way to do this test.
> > 
> > 
> > It doesn't sound like you want me to dive into .py land and do this.  Should I do something?
> 
> Hm - petsc-3.4 hypre.py [and master & maint] does have the following code:
> 
>     if self.libraryOptions.integerSize == 64:
>       args.append('--enable-bigint')
> 
> So --download-hypre should be doing the correct thing.. What does configure.log say? [if --enable-bigint used for hypre build or not..]

Mark,

I attempted  a build on my linuxbox - and I see hypre gets correctly built with --enable-bigint

./configure --download-hypre=1 --with-64-bit-indices=1 PETSC_ARCH=arch-hypre-idx64

<configure.log>

Executing: cd /home/balay/petsc.clone/externalpackages/hypre-2.9.1a/src && touch config/Makefile.config && make distclean && ./configure --prefix=/home/balay/petsc.clone/arch-hypre-idx64 --libdir=/home/balay/petsc.clone/arch-hypre-idx64/lib CC="mpicc" CFLAGS=" -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -fno-inline -O0 " CXX="mpicxx  -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g   -fPIC  " F77="mpif90  -fPIC -Wall -Wno-unused-variable -Wno-unused-dummy-argument -g  " --with-MPI-include="/home/balay/soft/mpich2-1.5/include" --with-MPI-lib-dirs="" --with-MPI-libs="" --with-blas-libs= --with-blas-lib-dir= --with-lapack-libs= --with-lapack-lib-dir= --with-blas=yes --with-lapack=yes --with-fmangle-blas=one-underscore --with-fmangle-lapack=one-underscore --without-babel --without-mli --without-fei --without-superlu --enable-bigint


Also - does this error come with a petsc example? [if so - I can try reproducing]

Satish

> 
> Satish
> 
> 
> > 
> > Mark
> > 
> > > I haven't heard back from you.
> > > 
> > >   Barry
> > > 
> > >  Do they have valgrind on this machine?
> > > 
> > > On Aug 25, 2013, at 1:04 PM, Mark F. Adams <mfadams at lbl.gov> wrote:
> > > 
> > >> I'm getting these memory error in hypre on the new Cray XC30 at NERSC (Edison) with 64 bit ints.  I found two different stacks in looking around processors.
> > >> 
> > >> Any ideas?
> > >> 
> > >> Mark
> > >> 
> > >> #10 KSPSolve () (at 0x00000000012f121a)
> > >> #9 KSPSetUp () (at 0x00000000012f5abb)
> > >> #8 PCSetUp () (at 0x00000000011f7f0e)
> > >> #7 PCSetUp_HYPRE () (at 0x0000000001254ab2)
> > >> #6 HYPRE_BoomerAMGSetup () (at 0x00000000018a9cf6)
> > >> #5 hypre_BoomerAMGSetup () (at 0x00000000018b1493)
> > >> #4 hypre_BoomerAMGCreateS () (at 0x0000000001921952)
> > >> #3 hypre_MatvecCommPkgCreate () (at 0x000000000194a0c0)
> > >> #2 hypre_Free () (at 0x0000000001a0ee1b)
> > >> #1 __libc_free (mem=<value optimized out>) at /usr/src/packages/BUILD/glibc-2.11.3/malloc/malloc.c:3733 (at 0x0000000002474a87)
> > >> #0 _int_free (av=0x324a7e0, p=0x593b120) at /usr/src/packages/BUILD/glibc-2.11.3/malloc/malloc.c:4951 (at 0x00000000024714fa)
> > >> 
> > >> 
> > >> 
> > >> #12 KSPSolve () (at 0x00000000012f121a)
> > >> #11 KSPSetUp () (at 0x00000000012f5abb)
> > >> #10 PCSetUp () (at 0x00000000011f7f0e)
> > >> #9 PCSetUp_HYPRE () (at 0x0000000001254ab2)
> > >> #8 HYPRE_BoomerAMGSetup () (at 0x00000000018a9cf6)
> > >> #7 hypre_BoomerAMGSetup () (at 0x00000000018b1493)
> > >> #6 hypre_BoomerAMGCreateS () (at 0x0000000001921952)
> > >> #5 hypre_MatvecCommPkgCreate () (at 0x000000000194a0c0)
> > >> #4 hypre_Free () (at 0x0000000001a0ee1b)
> > >> #3 __libc_free (mem=<value optimized out>) at /usr/src/packages/BUILD/glibc-2.11.3/malloc/malloc.c:3733 (at 0x0000000002474a87)
> > >> #2 malloc_printerr (action=2, str=0x26cf880 "double free or corruption (!prev)", ptr=<value optimized out>) at /usr/src/packages/BUILD/glibc-2.11.3/malloc/malloc.c:6261 (at 0x000000000246fd14)
> > >> #1 __libc_message (do_abort=2, fmt=0x26cf6b8 "*** glibc detected *** %s: %s: 0x%s ***\n") at /usr/src/packages/BUILD/glibc-2.11.3/libio/../sysdeps/unix/sysv/linux/libc_fatal.c:186 (at 0x000000000246a5ef)
> > >> #0  abort () at /usr/src/packages/BUILD/glibc-2.11.3/stdlib/abort.c:59
> > >> 
> > > 
> > 
> > 
> 
> 




More information about the petsc-dev mailing list