[petsc-dev] problem with hypre with '--with-openmp=1'

Satish Balay balay at mcs.anl.gov
Tue Jun 26 09:45:39 CDT 2018


On Tue, 26 Jun 2018, Mark Adams wrote:

> On Tue, Jun 26, 2018 at 12:29 AM Balay, Satish <balay at mcs.anl.gov> wrote:
> 
> > Perhaps petsc built with openmp is triggering the problem.
> >
> >
> >
> > You might want to install hyper separately with openmp. And then install
> > petsc with this prebuilt hypre and see if the problem persists
> >
> 
> I am not finding the newest version of hypre on their web page (I see
> 2.11.2 but the latest is 2.14.0).

The following is the way to figureout what petsc configure will download/install

>>>>>>>>
balay at troll /home/balay/petsc (master=)
$ ./configure --with-packages-download-dir=$HOME/tmp --download-hypre
===============================================================================
             Configuring PETSc to compile on your system                       
===============================================================================
Download the following packages to /home/balay/tmp 

hypre ['git://https://github.com/LLNL/hypre', 'https://github.com/LLNL/hypre/archive/v2.14.0.tar.gz']

Then run the script again

balay at troll /home/balay/petsc (master=)
$ 
<<<<<<<<<


>  Could we just build PETSc's download and point to it? Or copy the whole thing out?
> 
> We've never build Hypre AFAIK. Does anyone have any scripts or something
> for KNL?

For one - I see the following code in hypre.py

>>>>
    if self.openmp.found:
      args.append('--with-openmp')

<<<<

Normally - I use PETSc configure to install pacakges - and reuse them later - in the following way:

<install hypre in $HOME/soft/hypre>
./configure --download-hypre=1 --prefix=$HOME/soft/hypre

<now use preinstall hype from PETSc>
./configure --with-hypre-dir=$HOME/soft/hypre
make

In this case you can try:

./configure --download-hypre=1 --prefix=$HOME/soft/hypre --with-openmp=1 PETSC_ARCH=arch-hypreinstall
./configure --with-hypre-dir=$HOME/soft/hypre PETSC_ARCH=my-regular-build-arch [and no openmp option]
make PETSC_ARCH=my-regular-build-arch

One caveat: sometimes - mixing openmp compiled code with non-openmp
build of PETSc can give link errors [as compilers/linkers do different
stuff internally during linktime] - so this might not always work.

Satish


More information about the petsc-dev mailing list