Personal tools
You are here: Home openCMISS Wiki Configuring and Making PETSc on Various Systems
Views
Configuring and Making PETSc on Various Systems copied.
Technical committee meetings >> Minutes 19 June 2006 >> OpenCMISS/libMesh Development Notes >>

Configuring and Making PETSc on Various Systems

last edited 1 year ago by taus007

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 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 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 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