Configuring and Making PETSc on Various Systems
Note: Not every version of PETSc is designed to hook up with HYPRE and BoomerAMG. I've found that petsc-2.2.0 does not provide the ability to use HYPRE and petsc-2.2.0 is the version used by ubuntu typically in "/usr/lib/petsc". Perhaps HYPRE began to be available with version 2.3.x.
Creating Your Own PETSc Libraries using PETSc v. 2.3.2-p7
x86_64 Linux : bioeng22
- 'config/configure.py --with-cc=gcc --with-cxx=g++ --with-fc=g77 --with-mpi-dir=/usr/lib/mpich --with-shared=no'
- flag '--with-debugging=0' yields optimized version - default is debugging turned on.
- 'make'
ppc 32 aix : hpc
- 'config/aix5.1.0.0.py'
- flag '--with-debugging=0' yields optimized version - default is debugging turned on.
ppc 64 aix : hpc
- 'config/aix5.1.0.0-64.py'
- flag '--with-debugging=0' yields optimized version - default is debugging turned on.
Creating Your Own PETSc Library with HYPRE/BoomerAMG using PETSc v. 2.3.2-p7
x86_64 Linux : bioeng22
- Download hypre-1.11.1b.tar.gz from "here":ftp://ftp.mcs.anl.gov/pub/petsc/externalpackages/hypre-1.11.1b.tar.gz and place in externalpackages subdirectory. (You must use this version or else PETSc will not configure correctly.)
- 'config/configure.py --with-hypre=1 --download-hypre=/externalpackages/hypre-1.11.1b.tar.gz --with-cc=gcc --with-cxx=g++ --with-fc=g77 --with-mpi-dir=/usr/lib/mpich --with-shared=no'
- flag '--with-debugging=0' yields optimized version - default is debugging turned on.
- 'make'
ppc 32 aix : hpc
Download hypre-1.11.1b.tar.gz from "here":ftp://ftp.mcs.anl.gov/pub/petsc/externalpackages/hypre-1.11.1b.tar.gz and place in externalpackages subdirectory. (You must use this version or else PETSc will not configure correctly.)
The build for hypre fails as it tries to execute the parallel exectuables. There is a workaround included in hypre but I had to mangle the hypre.py configure script to get it to work, using the nopoe workaround and specifying the -X64 parameter to ar. The nopoe workaround relies on a single thread hostlist to actually run the parallel jobs and so requires that the non authenticated rsh login is working.:
output = config.base.Configure.executeShellCommand('cd '+os.path.join(hypreDir,'src')+';make distclean;./nopoe ./configure '+args, timeout=900, log = self.framework.log)[0]config/aix5.1.0.0.py --with-hypre=1 --download-hypre=exte-1.11.1b.tar.gz --with-cxx="mpCC" --with-cc=mpcc --with-fc=mpxlf
flag '--with-debugging=0' yields optimized version - default is debugging turned on.
Set environment variables as instructed: i.e. 'setenv PETSC_ARCH aix5.1.0.0' and 'setenv PETSC_DIR /hpc/cmiss/petsc/petsc-2.3.2-p6'
make
ppc 64 aix : hpc
Download hypre-1.11.1b.tar.gz from "here":ftp://ftp.mcs.anl.gov/pub/petsc/externalpackages/hypre-1.11.1b.tar.gz and place in externalpackages subdirectory. (You must use this version or else PETSc will not configure correctly.)
The build for hypre fails as it tries to execute the parallel exectuables. There is a workaround included in hypre but I had to mangle the hypre.py configure script to get it to work, using the nopoe workaround and specifying the -X64 parameter to ar. The nopoe workaround relies on a single thread hostlist to actually run the parallel jobs and so requires that the non authenticated rsh login is working.:
output = config.base.Configure.executeShellCommand('cd '+os.path.join(hypreDir,'src')+';make distclean;./nopoe ./configure AR="ar -X64 -r" '+args, timeout=900, log = self.framework.log)[0]I notice now that the 64bit config script sets ar explictly too, so I could fix the AR part by detecting and passing along the AR command in the hypre.py script.
- 'config/aix5.1.0.0-64.py --with-hypre=1 --download-hypre=externalpackages/hypre-1.11.1b.tar.gz --with-cxx="mpCC -q64"'
- Set environment variables as instructed: i.e.'setenv PETSC_ARCH aix5.1.0.0-64' and 'setenv PETSC_DIR /hpc/cmiss/petsc/petsc-2.3.2-p6'
- make