#!/bin/bash #Step 0: download #Step 1: install before plapack crasehs #Step 2: After Plapack implodes STEP=0 if [ $STEP -eq 0 ]; then # Adapted from petsc 3.2. # Used Mercurial to get code rm -rf src hg clone http://petsc.cs.iit.edu/petsc/petsc-dev src cd src hg clone http://petsc.cs.iit.edu/petsc/BuildSystem config/BuildSystem fi # To update (via Mercurial): # cd petsc-dev # hg pull -u # cd config/BuildSystem # hg pull -u # configure script # Note: using metis from externalpackages did not work... # for now downloading new metis # -then rename metis in externalpackages to metis2 if [ $STEP -eq 1 ]; then mkdir install #configure cd src ./config/configure.py \ --prefix="$ISSM_DIR/externalpackages/petsc/install" \ --with-batch=1 \ --PETSC_ARCH="$ISSM_ARCH" \ --PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \ --with-debugging=0 \ --with-shared-libraries=0 \ --with-blas-lapack-dir=/nasa/intel/mkl/10.0.011/ \ --known-mpi-shared-libraries=1 \ --with-mpi-lib=/nasa/sgi/mpt/2.04/lib/libmpi.so \ --with-mpi-include=/nasa/sgi/mpt/2.04/include \ --download-mumps=yes \ --download-plapack=yes \ --download-scalapack=yes \ --download-blacs=yes \ --download-blas=yes \ --download-f-blas-lapack=yes \ --download-parmetis=yes \ --download-metis=yes \ --download-trilinos=yes \ --download-euclid=yes \ --download-pastix=yes \ --download-ptscotch=yes \ --download-spooles=yes \ --download-spai=yes \ --download-superlu=http://crd.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz \ --FFLAGS=-I/usr/include \ --with-cc=icc \ --with-fc=ifort \ --COPTFLAGS=" -O3 -xS" \ --FOPTFLAGS=" -O3 -xS" \ --CXXOPTFLAGS=" -O3 -xS" \ --with-pic=1 echo "== Fix Plapack compilation manually (http://issm.jpl.nasa.gov/documentation/faq/petsc32/) ==" echo "== Then run STEP=2 ==" fi if [ $STEP -eq 2 ]; then cd src ./config/configure.py \ --prefix="$ISSM_DIR/externalpackages/petsc/install" \ --with-batch=1 \ --PETSC_ARCH="$ISSM_ARCH" \ --PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \ --with-debugging=0 \ --with-shared-libraries=0 \ --with-blas-lapack-dir=/nasa/intel/mkl/10.0.011/ \ --with-mpi-lib=/nasa/sgi/mpt/2.04/lib/libmpi.so \ --with-mpi-include=/nasa/sgi/mpt/2.04/include \ --known-mpi-shared-libraries=1 \ --download-mumps=yes \ --download-scalapack=yes \ --download-blacs=yes \ --download-blas=yes \ --with-f-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/src/$ISSM_ARCH \ --download-parmetis=yes \ --download-metis=yes \ --with-cxx=icpc \ --download-hypre=yes \ --download-trilinos=yes \ --download-prometheus=yes \ --download-euclid=yes \ --download-pastix=yes \ --download-ptscotch=yes \ --download-spooles=yes \ --download-superlu=http://crd.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz \ --with-spai-dir=$ISSM_DIR/externalpackages/petsc/src/$ISSM_ARCH \ --with-plapack-dir=$ISSM_DIR/externalpackages/petsc/src/$ISSM_ARCH \ --FFLAGS=-I/usr/include \ --with-cc=icc \ --with-fc=ifort \ --COPTFLAGS=" -O3 -xS" \ --FOPTFLAGS=" -O3 -xS" \ --CXXOPTFLAGS=" -O3 -xS" \ --with-pic=1 cat > script.queue << EOF #PBS -S /bin/bash #PBS -q debug #PBS -l select=1:ncpus=1:model=har #PBS -l walltime=200 #PBS -W group_list=s1010 #PBS -m e . /usr/share/modules/init/bash module load comp-intel/11.1.046 module load mpi-sgi/mpt.2.04 #DEFINES MPI_Type_create_indexed_block module load math/intel_mkl_64_10.0.011 export PATH="$PATH:." export MPI_GROUP_MAX=64 mpiexec -np 1 ./conftest-linux-gnu-ia64-intel.py EOF echo "== Follow PETSc's instructions" fi