[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