Views
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=0yields optimized version - default is debugging turned on. make
- ppc 32 aix : hpc
config/aix5.1.0.0.py- flag
--with-debugging=0yields optimized version - default is debugging turned on.
- ppc 64 aix : hpc
config/aix5.1.0.0-64.py- flag
--with-debugging=0yields 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=0yields 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=0yields optimized version - default is debugging turned on. - Set environment variables as instructed: i.e.
setenv PETSC_ARCH aix5.1.0.0andsetenv 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-64andsetenv PETSC_DIR /hpc/cmiss/petsc/petsc-2.3.2-p6 - make