Personal tools
You are here: Home / openCMISS / Wiki / Configuring and Making PETSc on Various Systems
Navigation
Log in


Forgot your password?
 

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