[cig-commits] r16899 - in short/3D/PyLith/trunk/doc/install: . Cluster_CIT-pangu

brad at geodynamics.org brad at geodynamics.org
Fri Jun 4 09:56:18 PDT 2010


Author: brad
Date: 2010-06-04 09:56:17 -0700 (Fri, 04 Jun 2010)
New Revision: 16899

Added:
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/PyLith.README
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bash.tools
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bashrc
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.pylithapp.cfg
   short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.sh
   short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.txt
Modified:
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
   short/3D/PyLith/trunk/doc/install/README
Log:
Added installation instructions for ubuntu and finished pangu instructions.

Added: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/PyLith.README
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/PyLith.README	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/PyLith.README	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,34 @@
+How to setup your environment to use PyLith installed here.
+
+Currently, only the development version of PyLith is installed. In the near future
+both the development version and a stable (current release) version will be installed.
+
+1. Remove any PyLith related stuff (PETSc, MPI, etc) set in your .bashrc or .bash.tools.
+
+2. Edit your $HOME/.bashrc file to include the .bash.tools files as shown in sample.bashrc.
+
+3. Edit (create if necessary) $HOME/.bash.tools to match the sample.bash.tools file.
+   Place any of your own .bash.tools stuff AFTER the info in sample.bash.tools
+   and make sure your APPEND to any environment variables.
+
+4. Edit your $HOME/.pyre/pylithapp/pylithapp.cfg file to match the sample.pylithapp.cfg file.
+
+5. Try running examples/3d/tet4 dislocation.cfg.
+  a. Create a directory for the files.
+    cd $HOME
+    mkdir tmp_pylith
+    cd tmp_pylith
+  b. Copy all of the input files to the directory.
+    cp /home/baagaard/src/pylith-dev/examples/3d/tet4/* .
+  c. Run PyLith
+    pylith --nodes=1 --job.name=tet4 --job.walltime=5*minute --job.stdout=tet4.out --job.stderr=tet4.err dislocation.cfg
+  
+    (i) --nodes=M (M nodes) [total processes = M, default is 1]
+    (ii) --job.walltime=5*minute [limit runtime to 5 minutes; REQUIRED]
+    (iii) To see the LSF submission script use the command line argument --scheduler.dry
+      [job will not be submitted to the queue]
+    (iv) Output will be written to tet4.out (stdout0 and tet4.err (stderr) in the directory where the
+      the job was submitted.    
+
+NOTE: Most clusters have a high-speed filesystem accessible from the compute nodes.
+      Use this filesystem if it is available.

Added: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bash.tools
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bash.tools	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bash.tools	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,58 @@
+#! /bin/bash
+
+#
+if [ "$TOOLS_FORMAT" == "" ]; then
+  export TOOLS_FORMAT=intel-11.1
+fi
+
+# Store pre-tools info so we can reread this file after changing settings
+if (($READTOOLS)); then
+  PATH=${path_notools}
+  export LD_LIBRARY_PATH=${ld_library_path_notools}
+  export MANPATH=${manpath_notools}
+  export PYTHONPATH=${pythonpath_notools}
+else
+  export path_notools=${PATH}
+  export ld_library_path_notools=${LD_LIBRARY_PATH}
+  export manpath_notools=${MANPATH}
+  export pythonpath=${PYTHONPATH}
+  export READTOOLS=1
+fi
+
+PYTHON_VERSION=2.6
+
+export TOOLS_DIR=/home/baagaard/tools/${TOOLS_FORMAT}
+if [ "$LD_LIBRARY_PATH" == "" ]; then
+  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib
+else
+  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib:${LD_LIBRARY_PATH}
+fi
+if [ "${PYTHON_PATH}" == "" ]; then
+  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages
+else
+  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
+fi
+PATH=${TOOLS_DIR}/bin:${PATH}
+
+# MPI
+export MPI_DIR=/opt/openmpi/1.4.2/intel
+PATH=${MPI_DIR}/bin:${PATH}
+export LD_LIBRARY_PATH=${MPI_DIR}/lib:${LD_LIBRARY_PATH}
+
+# MKL
+export MKL_DIR=/opt/intel/Compiler/11.1/072/mkl
+export LD_LIBRARY_PATH=${MKL_DIR}/lib/em64t:${LD_LIBRARY_PATH}
+
+# PETSC
+export PETSC_DIR=/home/baagaard/src/petsc-dev
+export PETSC_ARCH=${TOOLS_FORMAT}_opt
+
+# PyLith
+if (( 1 )); then # Change '1' to '0' to use PyLith scecdynrup branch
+  export PYLITH_DIR=/home/baagaard/pylith-dev/${TOOLS_FORMAT}
+else
+  export PYLITH_DIR=/home/baagaard/pylith-scecdynrup/${TOOLS_FORMAT}
+fi
+export LD_LIBRARY_PATH=${PYLITH_DIR}/lib:${LD_LIBRARY_PATH}
+export PYTHONPATH=${PYLITH_DIR}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
+PATH=${PYLITH_DIR}/bin:${PATH}

Added: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bashrc
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bashrc	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.bashrc	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,12 @@
+# .bashrc
+
+# User specific aliases and functions
+
+# Source global definitions
+if [ -f /etc/bashrc ]; then
+	. /etc/bashrc
+fi
+
+if [ -f .bash.tools ]; then
+  . .bash.tools
+fi

Added: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu/sample.pylithapp.cfg	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,14 @@
+[pylithapp]
+scheduler = lsf
+
+[pylithapp.lsf]
+shell = /bin/bash
+bsub-options = -a mpich_gm 
+
+[pylithapp.job]
+queue = normal
+#queue = debug
+
+[pylithapp.launcher]
+command = mpirun -np ${nodes} -machinefile ${LSB_DJOB_HOSTFILE}
+

Modified: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	2010-06-04 15:02:51 UTC (rev 16898)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	2010-06-04 16:56:17 UTC (rev 16899)
@@ -23,13 +23,23 @@
   /opt/openmpi/1.4.2/intel
 
 
-
 netcdf
-  http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.1.tar.gz
 
+  Run configure w/netcdf-4 disabled.
+
+    $HOME/src/netcdf-4.1.1/netcdf-4.1.1/configure --prefix=${TOOLS_DIR} --enable-shared --disable-netcdf-4 CC=icc CXX=icpc FC=ifort F77=ifort CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC" FFLAGS="-O2 -fPIC" FCFLAGS="-O2 -fPIC"
+
+
 numpy
-  http://downloads.sourceforge.net/project/numpy/NumPy/1.4.1/numpy-1.4.1.tar.gz
-  site.cfg
 
+  Edit site.cfg to use the Intel KML library version 11.1.
+    [mkl]
+    library_dirs = /opt/intel/Compiler/11.1/072/mkl/lib/em64t
+    lapack_libs = mkl_lapack
+    mkl_libs = mkl_core, mkl_intel_thread, guide
+
 PETSc
-  mkl
+
+  Run configure and use Intel MKL library version 11.1.
+
+    config/configure.py --PETSC_ARCH=${TOOLS_FORMAT}_opt --with-debugging=0 --with-clanguage=c++ --with-mpi-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --with-blas-lapack-dir=/opt/intel/Compiler/11.1/072/mkl/lib/em64t --with-lgrind=0 -with-chaco=1 --download-chaco=1 --with-parmetis=1 --download-parmetis=1 --with-sieve=1 --with-boost=1 --download-boost=1 --with-ml=1 --download-ml=1

Added: short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.sh
===================================================================
--- short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.sh	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.sh	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,39 @@
+#!/bin/bash                                                                                                              
+
+#
+if [ "$TOOLS_FORMAT" == "" ]; then
+  export TOOLS_FORMAT=gcc-4.4.1_64
+fi                                
+
+# Store pre-tools info so we can reread this file after changing settings
+if (($READTOOLS)); then                                                  
+  PATH=${path_notools}                                                   
+  export LD_LIBRARY_PATH=${ld_library_path_notools}                      
+  export MANPATH=${manpath_notools}                                      
+  export PYTHONPATH=${pythonpath_notools}                                
+else                                                                     
+  export path_notools=${PATH}                                            
+  export ld_library_path_notools=${LD_LIBRARY_PATH}                      
+  export manpath_notools=${MANPATH}                                      
+  export pythonpath=${PYTHONPATH}                                        
+  export READTOOLS=1                                                     
+fi                                                                       
+
+PYTHON_VERSION=2.6
+
+export TOOLS_DIR=$HOME/tools/${TOOLS_FORMAT}
+if [ "$LD_LIBRARY_PATH" == "" ]; then                
+  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib            
+else                                                 
+  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib:${LD_LIBRARY_PATH}
+fi                                                          
+if [ "${PYTHON_PATH}" == "" ]; then                         
+  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages
+else                                                                      
+  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
+fi
+PATH=${TOOLS_DIR}/bin:${PATH}
+
+# PETSC
+export PETSC_DIR=$HOME/src/petsc-dev
+export PETSC_ARCH=${TOOLS_FORMAT}

Added: short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.txt	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Linux_ubuntu-AMD64_Aagaard.txt	2010-06-04 16:56:17 UTC (rev 16899)
@@ -0,0 +1,205 @@
+======================================================================
+INSTRUCTIONS FOR INSTALLING PYLITH ON LINUX x86_64 RUNNING UBUNTU 9.10
+======================================================================
+
+These installation instructions use as many Ubuntu packages as
+possible. This reduces the number of packages that must be built from
+source. We do not use the Ubuntu openmpi-1.3.2-3 because it appears to
+contain bugs that cause PyLith to hang when running in
+parallel. Instead, we build openmpi-1.4.2 from source.
+
+We install development versions of the CIG software. Installing using
+source tarballs is easy, simply replace downloading from the source
+repository and running autoreconf with downloading and unpacking the
+tarball.
+
+To make things easier, I create environment variables TOOLS_DIR,
+TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
+makes it easier to maintain multiple copies of packages built with
+different options (e.g., different compilers and different levels of
+optimization). Note that the python version should match the version
+of Python you will be using. If you don't know the version of python,
+run "python --version".
+
+See the Linux_ubuntu-AMD64_Aagaard.sh file for the settings used to
+setup the environment variables using the bash shell. The
+$TOOLS_FORMAT environment variable is used to differentiate between
+packages built with different compilers and/or different optimization
+settings. In this case, TOOLS_FORMAT is gcc-4.4.1_64. We use a medium
+level of optimization and do not strip out error checking code. You
+should setup your environment BEFORE building the packages.
+
+Source files
+
+  Source files are placed under $HOME/src/PACKAGE.
+
+Build directories
+
+  Packages supporting building in separate directories are built in
+  $HOME/scratch/build/$TOOLS_FORMAT.
+
+Install directorires
+
+  Packages are installed in $HOME/tools/$TOOLS_FORMAT.
+
+
+1. When installing Ubuntu, include the development tools (gcc,
+gfortran, etc). in the installation.
+
+2. Install additional packages.
+
+  libcppunit
+  libcppunit-dev
+  proj
+  proj-data
+  libproj-dev
+  swig-1.3.36
+  python-numpy
+  netcdf-bin
+  libnetcdf-dev
+  libnetcdf4
+  mercurial
+  subversion
+  autoconf
+  automake
+  
+3. Install OpenMPI
+ 
+  Download and unpack the tarball.
+    cd $src/openmpi-1.4.2
+    wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.2.tar.gz
+    tar -zxvf openmpi-1.4.2.tar.gz
+
+  Run configure in the build directory.
+    cd $HOME/scratch/build/$TOOLS_FORMAT/openmpi-1.4.2
+    ${TOOLS_DIR}/openmpi-1.4.2/src/openmpi-1.4.2/configure --config-cache --prefix=${TOOLS_DIR} CC=gcc CXX=g++ FC=gfortran F77=gfortran CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC" FFLAGS="-O2 -fPIC"
+
+  Run "make" and "make install".
+    make
+    make install
+
+  Test
+    mpicc -show
+
+    You should see the gcc compiler being used with the appropriate
+    flags to include the OpenMPI headers and libraries.
+
+
+4. FIAT (version 0.3.5 is the most recent version known to work)
+
+  Depends on Python.
+
+  Download and unpack the tarball.
+    cd $HOME/src/fiat-0.3.5
+    wget http://www.fenics.org/pub/software/fiat/FIAT-0.3.5.tar.gz
+
+  Install using python.
+    cd FIAT-0.3.5
+    python setup.py install --prefix=$TOOLS_DIR
+
+  Test
+    python
+    import FIAT
+
+
+5. pythia
+
+  Depends on Python.
+
+  Check out pythia from the publicly accessible CIG SVN repository.
+    cd $HOME/src
+    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
+
+  Install using python.
+    cd pythia
+    python setup.py install --prefix=$TOOLS_DIR
+
+  Test
+    python
+    import pyre
+
+
+6. spatialdata
+
+  Depends on pythia.
+
+  Check out spatialdata from the publicly accessible CIG SVN repository.
+    cd $HOME/src
+    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata-dev
+    cd spatialdata-dev
+    autoreconf -if
+
+  Run configure in the build dir.
+    cd $HOME/scratch/build/$TOOLS_FORMAT/spatialdata-dev
+    ${HOME}/src/spatialdata/configure  --config-cache  --enable-swig --enable-testing --enable-pythia  --prefix=${TOOLS_DIR}  CPPFLAGS="-I${TOOLS_DIR}/include "  LDFLAGS="-L${TOOLS_DIR}/lib " CC=icc CXX=icpc CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC"
+
+  Run "make" and "make install".
+    make
+    make install
+
+  Test
+    make check
+
+
+7. PETSc
+
+  Checkout the development version of PETSc.
+    cd $HOME/src
+    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
+    cd petsc-dev/config
+    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
+
+  Run configure in the *source* directory.
+    cd $HOME/src/petsc-dev
+    config/configure.py --PETSC_ARCH=linux_${TOOLS_FORMAT} --with-debugging=0 --with-clanguage=c++ --with-mpi-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --with-blas-lapack-lib="-L/usr/lib/atlas -llapack_atlas -llapack -latlas -lblas" --with-lgrind=0 --with-chaco=1 --download-chaco=1 --with-parmetis=1 --download-parmetis=1 --with-sieve=1 --with-boost=1 --download-boost=1 --with-ml=1 --download-ml=1
+
+  Run "make" and "make test"
+    make
+    make test
+
+
+8. nemesis
+
+  Depends on Python, MPI, pythia.
+
+  Check out nemesis from the publicly accessible CIG SVN repository.
+    cd $HOME/src
+    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis-dev
+    cd nemesis-dev
+    autoreconf -if
+
+  Run configure in the build dir.
+    cd $HOME/scratch/build/$TOOLS_FORMAT/nemesis-dev
+    $HOME/src/nemesis-dev/configure --prefix=${TOOLS_DIR}
+
+ Run "make" and "make install".
+    make
+    make install
+
+  Test
+    nemesis
+    import mpi
+
+    Running nemesis should startup Python. Nemesis is an MPI wrapper
+    around Python.
+  
+ 
+9. PyLith
+
+    Check out PyLith from the publicly accessible CIG SVN repository.
+    cd $HOME/src
+    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith-dev
+    cd pylith-dev
+    autoreconf -if
+
+  Run configure in the build dir.
+    cd $HOME/scratch/build/$TOOLS_FORMAT/pylith-dev
+    ${HOME}/src/pylith-dev/configure  --config-cache  --enable-swig --enable-testing --enable-cubit --prefix=${TOOLS_DIR}  CPPFLAGS="-I${TOOLS_DIR}/include "  LDFLAGS="-L${TOOLS_DIR}/lib "  CC=mpicc CXX=mpiCC  CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC"
+
+ Run "make" and "make install".
+    make
+    make install
+
+  Test
+    make check
+

Modified: short/3D/PyLith/trunk/doc/install/README
===================================================================
--- short/3D/PyLith/trunk/doc/install/README	2010-06-04 15:02:51 UTC (rev 16898)
+++ short/3D/PyLith/trunk/doc/install/README	2010-06-04 16:56:17 UTC (rev 16899)
@@ -32,15 +32,17 @@
 ======================================================================
 
 We recommend setting up your source, build, and install directories as
-in the Cluster_CIT-garuda and Cluster_CIT-pangu examples. These are
-setup for relatively stable installations, whereas most of the other
-examples are setup for development work and testing with multiple
-versions of packages. As a result they are unnecessarily complex for
-most users. The other examples do provide a list of packages that can
-be installed via a package manager on Linux and Darwin systems.
+in the Linux_ubuntu-AMD64_Aagaard.txt, Cluster_CIT-garuda, and
+Cluster_CIT-pangu examples. These are setup for relatively stable
+installations, whereas most of the other examples are setup for
+development work and testing with multiple versions of packages. As a
+result they are unnecessarily complex for most users. The other
+examples do provide details for other systems that you may find
+helpful.
 
 FILE                             PLATFORM
 
+Linux_ubuntu-AMD64_Aagaard.txt   x86_64 desktop (gcc compilers)
 Cluster_CIT-garuda.txt           Intel cluster (Intel compilers)
 Cluster_CIT-pangu.txt            Intel cluster (Intel compilers)
 MacBookPro_Aagaard.txt           Intel Mac (Apple gcc 4.2), MacPorts



More information about the CIG-COMMITS mailing list