[cig-commits] r5268 - mc/3D/CitcomS/trunk/doc/manual
leif at geodynamics.org
leif at geodynamics.org
Tue Nov 14 17:14:49 PST 2006
Author: leif
Date: 2006-11-14 17:14:49 -0800 (Tue, 14 Nov 2006)
New Revision: 5268
Modified:
mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
Log:
Updated the installation chapter.
Modified: mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
===================================================================
--- mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx 2006-11-15 00:29:16 UTC (rev 5267)
+++ mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx 2006-11-15 01:14:49 UTC (rev 5268)
@@ -1,4 +1,4 @@
-#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
+#LyX 1.4.2 created this file. For more info see http://www.lyx.org/
\lyxformat 245
\begin_document
\begin_header
@@ -1340,27 +1340,38 @@
\end_layout
\begin_layout Section
-Before You Begin
+System Requirements
\end_layout
-\begin_layout Subsection
-Tools
+\begin_layout Standard
+Installation of CitComS.py requires the following:
\end_layout
-\begin_layout Standard
-Installation of CitComS.py requires the following system tools:
+\begin_layout Itemize
+A C compiler
\end_layout
\begin_layout Itemize
-Python 2.3 or greater
+An MPI library
\end_layout
\begin_layout Itemize
-A C compiler
+Python 2.3 or greater
\end_layout
\begin_layout Standard
-Users familiar with older versions of CitComS may prefer to install only
+MPI installations are typically configured for a particular compiler, and
+ provide a special wrapper command to invoke the right compiler.
+ Therefore, the choice of MPI implementation often determines which C compiler
+ to use.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+Note:
+\series default
+ Users familiar with older versions of CitComS may prefer to install only
the legacy CitComS tools,
\family typewriter
CitcomSFull
@@ -1369,84 +1380,109 @@
\family typewriter
CitcomSRegional
\family default
-, and forgo use of the Pyre framework.
- This process requires only a C compiler.
+, and forgo use of Python and the Pyre framework.
+ This process requires only a C compiler and an MPI library.
+ For more information, see
+\begin_inset LatexCommand \ref{sec:Installing-without-Pyre}
+
+\end_inset
+
+, later in this chapter.
\end_layout
-\begin_layout Section
-Dependencies
+\begin_layout Standard
+Optionally, CitcomS can be configured to use a parallel HDF5 library.
+ See
+\begin_inset LatexCommand \ref{sec:HDF5-Configuration}
+
+\end_inset
+
+.
\end_layout
+\begin_layout Subsection
+C Compiler
+\end_layout
+
\begin_layout Standard
-CitcomS.py requires the following packages:
+On Unix or Linux systems, there is a high likelyhood that a useable C compiler
+ is already installed.
+ To check, type
+\family typewriter
+cc
+\family default
+ at the shell prompt:
\end_layout
-\begin_layout Itemize
-Pythia 0.8.1.x.
+\begin_layout LyX-Code
+$ cc
\end_layout
-\begin_layout Itemize
-An MPI library
+\begin_layout LyX-Code
+cc: no input files
\end_layout
-\begin_layout Itemize
-(Optional) the Parallel HDF5 library
+\begin_layout LyX-Code
+$
\end_layout
\begin_layout Standard
-For more information, see Section
-\begin_inset LatexCommand \ref{sec:Installing-without-Pyre}
+On Linux, if the
+\family typewriter
+cc
+\family default
+ command is not found, install GCC using the package manager for your distributi
+on.
+\end_layout
+\begin_layout Standard
+The Mac OS X version of GCC is included in a software development suite
+ called Xcode.
+ Xcode is available as a free download at the
+\begin_inset LatexCommand \htmlurl[Apple Developer Connection]{http://developer.apple.com/}
+
\end_inset
.
\end_layout
\begin_layout Subsection
-Compilers
+MPI Library
\end_layout
\begin_layout Standard
-On all supported systems, C and C++ compilers are readily available.
- If you are using GCC, you need version 3 or later.
+CitcomS requires a library which implements the MPI standard (either version
+ 1 or 2).
+ Several free, open-source implementations of MPI are available.
\end_layout
-\begin_layout Subsection
-MPI
-\end_layout
-
\begin_layout Standard
-MPICH is a freely available, portable implementation of MPI.
- For more information, visit the
-\begin_inset LatexCommand \htmlurl[MPICH home page]{www-unix.mcs.anl.gov/mpi/mpich}
+A popular choice is
+\begin_inset LatexCommand \htmlurl[MPICH]{http://www-unix.mcs.anl.gov/mpi/mpich/}
\end_inset
.
+ Installing MPICH from source involves walking through the standard GNU
+ build procedure (
+\family typewriter
+configure && make && make install
+\family default
+).
\end_layout
-\begin_layout Quote
+\begin_layout Standard
+Linux users may have a prebuilt MPI package available for their distribution.
+ On Mac OS X, the Fink package manager offers a prepackaged version of
+\begin_inset LatexCommand \htmlurl[LAM/MPI]{http://www.lam-mpi.org/}
-\series bold
-Note for Mac OS X Users
-\series default
-: You will need Xcode, which is freely available from
-\begin_inset LatexCommand \htmlurl[Apple]{developer.apple.com}
-
\end_inset
-.
- Instead of using MPICH, you will probably want to use
-\begin_inset LatexCommand \htmlurl[LAM/MPI]{www.lam-mpi.org}
+; so if you have
+\begin_inset LatexCommand \htmlurl[Fink]{http://fink.sourceforge.net/}
\end_inset
-.
- LAM/MPI is available as a Fink package; if you have
-\begin_inset LatexCommand \htmlurl[Fink]{fink.sourceforge.net}
-
-\end_inset
-
installed, simply enter the following command from a Terminal window to
install LAM/MPI:
\end_layout
@@ -1455,34 +1491,157 @@
$ fink install lammpi lammpi-dev
\end_layout
+\begin_layout Subsubsection*
+MPI C Compiler Command
+\end_layout
+
+\begin_layout Standard
+Once you have an MPI library installed, make sure its C complier command
+ is on your PATH.
+ Unfortunately, the name of this command varies from one MPI implementation
+ to the next.
+ The CitcomS configuration script searches for the following MPI C command
+ names:
+\end_layout
+
+\begin_layout LyX-Code
+mpicc hcc mpcc mpcc_r mpxlc cmpicc
+\end_layout
+
\begin_layout Subsection
Python
\end_layout
\begin_layout Standard
-You can download Python from the
-\begin_inset LatexCommand \htmlurl[Python website]{www.python.org}
+Your system may already have a suitable Python interpreter installed.
+ To check, type the 'python' command:
+\end_layout
+\begin_layout LyX-Code
+$ python -V
+\end_layout
+
+\begin_layout LyX-Code
+Python 2.3.4
+\end_layout
+
+\begin_layout Standard
+Mac OS X 10.3 and later ships with a suitable version of Python preinstalled.
+ If you're using an older version of Mac OS X, or for more information in
+ general, see
+\begin_inset LatexCommand \htmlurl[Python on the Mac]{http://www.python.org/download/mac/}
+
\end_inset
-.
- If your system is running a recent release of Linux or Mac OS X, chances
- are you already have a suitable Python interpreter installed.
- To check, type the 'python' command:
+ at the Python web site.
\end_layout
+\begin_layout Standard
+On Linux, simply install the binary system package available for your distributi
+on.
+ Be sure to select the Python development package (typically called
+\family typewriter
+python-dev
+\family default
+) in addition to the core Python package -- even if you don't plan on doing
+ any Python software development.
+ The development package contains the Python include files, which are necessary
+ for building CitcomS.
+\end_layout
+
+\begin_layout Standard
+If you are working on a cluster and
+\family typewriter
+python
+\family default
+ is too old, try poking around a little.
+ Sometimes multiple versions of Python are installed on the same system:
+\end_layout
+
\begin_layout LyX-Code
$ python -V
\end_layout
\begin_layout LyX-Code
-Python 2.3.4
+Python 2.2.3
\end_layout
\begin_layout LyX-Code
+$ which python
+\end_layout
+\begin_layout LyX-Code
+/usr/bin/python
\end_layout
+\begin_layout LyX-Code
+$ ls /usr/bin/python*
+\end_layout
+
+\begin_layout LyX-Code
+/usr/bin/python /usr/bin/python2 /usr/bin/python2.2
+\end_layout
+
+\begin_layout LyX-Code
+/usr/bin/python24 /usr/bin/python2.4
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+In the above scenario, it is useful to create an alias to the newer Python:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd ~/bin
+\end_layout
+
+\begin_layout LyX-Code
+$ ln -s /usr/bin/python2.4 python
+\end_layout
+
+\begin_layout LyX-Code
+$ cd
+\end_layout
+
+\begin_layout LyX-Code
+$ hash -r
+\end_layout
+
+\begin_layout LyX-Code
+$ which python
+\end_layout
+
+\begin_layout LyX-Code
+~/bin/python
+\end_layout
+
+\begin_layout LyX-Code
+$ python -V
+\end_layout
+
+\begin_layout LyX-Code
+Python 2.4.1
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+If absolutely necessary, one can easily build Python from source using a
+ C compiler.
+ You can download Python from the
+\begin_inset LatexCommand \htmlurl[Python website]{www.python.org}
+
+\end_inset
+
+.
+
+\end_layout
+
\begin_layout Section
Downloading and Unpacking Source
\end_layout
@@ -1541,31 +1700,35 @@
\family typewriter
cd
\family default
-) to the directory containing the CitComS source and type .
+) to the directory containing the CitComS source
\family typewriter
-/configure
-\family default
- to configure the package for your system
+.
\newline
\newline
+$ cd CitcomS-2.1.0
+\end_layout
+\begin_layout Enumerate
+Type .
\family typewriter
-$ cd CitcomS-2.1.0
+/configure
\family default
+ to configure the package for your system
+\family typewriter
+.
+\newline
\newline
-
-\family typewriter
$ ./configure
\end_layout
\begin_layout Enumerate
-Type '
+Type
\family typewriter
make
\family default
-' to build the package.
+ to build the package.
\family typewriter
\newline
@@ -1574,25 +1737,93 @@
$ make
\end_layout
-\begin_layout Enumerate
-Become
+\begin_layout Standard
+If you are content to run CitcomS from the build directory, then you are
+ done.
+ Upon successful completion, the
\family typewriter
+make
+\family default
+ command creates a script called
+\family typewriter
+citcoms
+\family default
+ in the top-level build directory (the directory in which you ran
+\family typewriter
+make
+\family default
+); this is the script you will use to run CitcomS.
+ You may wish to add the directory containing the
+\family typewriter
+citcoms
+\family default
+ script to your
+\family typewriter
+PATH
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+For more details about
+\family typewriter
+configure
+\family default
+, see the Configuration section below.
+\end_layout
+
+\begin_layout Subsubsection
+Installing to a Secondary Location
+\end_layout
+
+\begin_layout Standard
+Optionally, after building CitcomS, you can install it to a secondary location
+ using the
+\family typewriter
+make install
+\family default
+ command.
+\end_layout
+
+\begin_layout Quotation
+
+\series bold
+Note:
+\series default
+ The following is not recommended if you plan on modifying the CitcomS source.
+\end_layout
+
+\begin_layout Standard
+By default, CitcomS is configured to install under
+\family typewriter
+/usr/local
+\family default
+, which requires that you become
+\family typewriter
root
\family default
- and type
+ before issuing the
\family typewriter
make install
\family default
- to install CitComS.
-\newline
+ command.
+\end_layout
-\newline
+\begin_layout LyX-Code
\family typewriter
$ su
-\newline
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
Password:
-\newline
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
# make install
\end_layout
@@ -1629,57 +1860,37 @@
\end_layout
\begin_layout Standard
-For more details about
+The above commands will install CitcomS under
\family typewriter
-configure
+$HOME/cig
\family default
-, see the Configuration section below.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-NOTE:
-\series default
- If you install as an ordinary user using
-\family typewriter
---prefix=PREFIX
-\family default
- be mindful of the fact that you may have to set various environment variables
- in order for CitComS to function properly under the given
-\family typewriter
-PREFIX
-\family default
.
- First, you will want to add
+ Afterwards, you may wish to add
\family typewriter
PREFIX/bin
\family default
- to your
+ (
\family typewriter
-PATH.
-
+$HOME/cig/bin
\family default
- You may need or want to add
+, in this example) to your
\family typewriter
-PREFIX/lib/python2.3/site-packages
+PATH
\family default
- to your
-\family typewriter
-PYTHONPATH
-\family default
.
- (Change the path name accordingly if your python is not of version 2.3.x.)
- Finally, on some obscure Unix systems, you may need to add
+\end_layout
+
+\begin_layout Standard
+After running
\family typewriter
-PREFIX/lib
+make install
\family default
- to your
+, you may -- if desired -- run
\family typewriter
-LD_LIBRARY_PATH
+make clean
\family default
- (or equivalent).
-
+ in the build directory to save disk space.
+ You are also free to delete the source/build directory altogether.
\end_layout
\begin_layout Section
@@ -1699,19 +1910,11 @@
Makefile
\family default
in each source directory of the package.
- It also generates one or more
+ It also generates a
\family typewriter
-portinfo
-\family default
- header files, which contain system-dependent definitions (
-\family typewriter
-portinfo
-\family default
- is equivalent to
-\family typewriter
config.h
\family default
- in other open-source software packages).
+ header file, which contains system-dependent definitions.
\end_layout
@@ -1732,9 +1935,54 @@
\family default
is unable to guess the value a certain parameter, you may have to specify
the correct value by hand.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+Important:
+\series default
+ If the
+\family typewriter
+configure
+\family default
+ script fails, and you don't know what went wrong, examine the log file
+\family typewriter
+config.log
+\family default
+.
+ This file contains a detailed transcript of all the checks
+\family typewriter
+configure
+\family default
+ performed.
+ Most importantly, it includes the error output (if any) from your compiler.
+ When seeking help for
+\family typewriter
+configure
+\family default
+ failures on the
+\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
+
+\end_inset
+
+, please send
+\family typewriter
+config.log
+\family default
+ as an attachment.
\end_layout
+\begin_layout Standard
+The
+\family typewriter
+configure
+\family default
+ script will automatically check for needed Python dependencies, and, if
+ necessary, download them from the Internet.
+\end_layout
+
\begin_layout Subsection
Configure Usage
\end_layout
@@ -1778,7 +2026,7 @@
\end_layout
\begin_layout LyX-Code
-$ ./configure CXX=icpc # compile C++ using the Intel compiler
+$ ./configure CC=icc # use the Intel compiler
\end_layout
\begin_layout Standard
@@ -1893,7 +2141,14 @@
\begin_inset Text
\begin_layout Standard
-C compiler command
+C compiler command.
+ This is usually set to the name of an MPI wrapper command.
+ See Section
+\begin_inset LatexCommand \ref{sec:MPI-Configuration}
+
+\end_inset
+
+ for details and examples.
\end_layout
\end_inset
@@ -1904,56 +2159,44 @@
\begin_inset Text
\begin_layout Standard
-CXX
+CPPFLAGS
\end_layout
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Standard
-C++ compiler command
+C preprocessor flags; e.g.,
+\family typewriter
+-I<dir>
+\family default
+ if you have headers in a nonstandard directory.
\end_layout
\end_inset
</cell>
</row>
-<row topline="true" bottomline="true">
+<row topline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Standard
-MPICC
+LDFLAGS
\end_layout
-\begin_layout Standard
-MPICXX
-\end_layout
-
-\begin_layout Standard
-MPIINCLUDES
-\end_layout
-
-\begin_layout Standard
-MPILIBS
-\end_layout
-
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Standard
-These variables collectively specify how to build MPI programs.
- The variables MPICC and MPICXX specify compiler commands; MPIINCLUDES specifies
- preprocessor flags, and MPILIBS specifies linker flags.
- See Section
-\begin_inset LatexCommand \ref{sec:MPI-Configuration}
-
-\end_inset
-
- for details and examples.
+linker flags; e.g.,
+\family typewriter
+-L<dir>
+\family default
+ if you have libraries in a nonstandard directory.
\end_layout
\end_inset
@@ -1984,73 +2227,90 @@
\family typewriter
configure
\family default
- will search for MPI wrappers (such as
+ will search for a C compiler using your
\family typewriter
- mpicxx/mpic++
+PATH
\family default
- and
+ environment variable.
+ It prefers MPI wrapper commands (such as
\family typewriter
-mpicc
+ mpicc
\family default
-) using your PATH environment variable.
- You may specify MPI wrappers manually using the variables MPICC and MPICXX.
- If found, the wrappers will be used to compile MPI-related source, and
- CC and CXX will default to underlying C/C++ compiler commands (e.g., CC will
- default to the result of
+) to ordinary compiler commands (such as
\family typewriter
-mpicc -compile_info
+cc
\family default
- if you are using MPICH).
- You may also set CC and CXX manually.
- The commands specified by CXX and CC are used to compile ordinary C/C++
- source, and for linking shared libraries.
+ or
+\family typewriter
+gcc
+\family default
+).
+ You may specify the compiler command name manually using the
+\family typewriter
+CC
+\family default
+ variable:
\end_layout
-\begin_layout Subsubsection
-Manually Specifying MPI Wrappers
-\end_layout
-
\begin_layout LyX-Code
-$ ./configure
-\backslash
-
+$ ./configure CC=/opt/mpich-1.2.6/bin/mpicc
\end_layout
-\begin_layout LyX-Code
-MPICC=/opt/mpich-1.2.6/bin/mpicc
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-MPICXX=/opt/mpich-1.2.6/bin/mpicxx
-\end_layout
-
\begin_layout Standard
-If MPI wrappers are not found,
+The
\family typewriter
configure
\family default
- will set MPICC and MPICXX to CC and CXX, respectively (i.e., the same commands
- used to build ordinary C/C++ source).
- Then, configure will attempt to find
+ script will test for the presence of the MPI header (
\family typewriter
mpi.h
\family default
- and an MPI library in the standard locations (e.g.,
+) and an MPI library using the C compiler command.
+ If
\family typewriter
+CC
+\family default
+ is set to an MPI wrapper command such as
+\family typewriter
+mpicc
+\family default
+, and/or the MPI header and library files are installed in a standard location
+ (i.e.,
+\family typewriter
/usr/include
\family default
and
\family typewriter
/usr/lib
\family default
-) using the ordinary compiler.
- In this scenario, if your MPI header files and libraries are installed
- in a non-standard location, you must specify MPIINCLUDES and MPILIBS, so
- that the compiler can find the MPI header files and libraries.
+), these
+\family typewriter
+configure
+\family default
+ tests should succeed without difficulty.
\end_layout
+\begin_layout Standard
+But if CC is set to an ordinary compiler command name (e.g.,
+\family typewriter
+cc
+\family default
+ or
+\family typewriter
+gcc
+\family default
+) and MPI is installed in a non-standard location, you must manually specify
+
+\family typewriter
+CPPFLAGS
+\family default
+ and
+\family typewriter
+LDFLAGS
+\family default
+, so that the compiler can find the MPI header files and libraries.
+\end_layout
+
\begin_layout Subsubsection
Manually Specifying MPI
\family typewriter
@@ -2070,13 +2330,13 @@
\end_layout
\begin_layout LyX-Code
-MPIINCLUDES="-I/opt/mpich-1.2.6/include"
+CPPFLAGS="-I/opt/mpich-1.2.6/include"
\backslash
\end_layout
\begin_layout LyX-Code
-MPILIBS="-L/opt/mpich-1.2.6/lib -lmpich"
+LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
\end_layout
\begin_layout Subsubsection
@@ -2104,61 +2364,40 @@
\end_layout
\begin_layout LyX-Code
-CXX=icpc
+CPPFLAGS="-I/opt/mpich-1.2.6/include"
\backslash
\end_layout
\begin_layout LyX-Code
-MPIINCLUDES="-I/opt/mpich-1.2.6/include"
-\backslash
-
+LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
\end_layout
-\begin_layout LyX-Code
-MPILIBS="-L/opt/mpich-1.2.6/lib -lmpich"
-\end_layout
-
\begin_layout Standard
-Some words of caution when specifying the MPI configuration:
-\end_layout
-
-\begin_layout Itemize
-Specifying MPI commands and flags in general-purpose
+Note that it may be necessary to specify the name of the MPI library itself
+ in
\family typewriter
-configure
+LDFLAGS
\family default
- variables (such as CC, CXX, CPPFLAGS, and LDFLAGS) may work on some systems,
- but is not recommended unless you happen to have a shared version of the
- MPI library installed on your system (
+ using the
\family typewriter
-libmpich.so
+-l
\family default
- or
-\family typewriter
-libmpi.so
-\family default
-).
+ compiler option.
+ If a library name is not given -- or if the given option doesn't work --
-\end_layout
-
-\begin_layout Itemize
-If you explicitly specify both MPICXX and CXX, CXX will be used to compile
- all C++ source; MPICXX is invoked merely to determine the correct values
- for MPIINCLUDES and MPILIBS (if necessary).
- Likewise, if you explicitly specify both MPICC and CC, CC will be used
- to compile all C source; MPICC will only be used to determine the MPI flags.
-\end_layout
-
-\begin_layout Itemize
-Configuring CitComS with a different C++ compiler than was used to configure
- your MPI library may cause link errors.
- However, the
\family typewriter
configure
\family default
- script attempts to detect this scenario and automatically work around the
- problem for you.
+ will automatically try linking using
+\family typewriter
+-lmpi
+\family default
+ and, if that fails,
+\family typewriter
+-lmpich
+\family default
+.
\end_layout
\begin_layout Section
@@ -2347,123 +2586,53 @@
\begin_layout Standard
If you are installing CitComS on a cluster with a batch system, you can
- configure CitComS such that the Pyre-based command
+ configure Pyre such that the
\family typewriter
citcoms
\family default
- automatically submits jobs to the batch queue.
- CitComS contains support for the LSF, PBS, and Globus batch systems.
+ command automatically submits jobs to the batch queue.
+ Pyre contains support for the LSF, PBS, and Globus batch systems.
\end_layout
\begin_layout Standard
-The
+The command to submit a batch job depends upon the particular batch system
+ used.
+ Further, the command used in a batch script to launch an MPI program varies
+ from one cluster to the next.
+ This command can vary between two clusters, even if the clusters use the
+ same batch system! On some systems,
\family typewriter
-configure
-\family default
- script searches for the
-\family typewriter
-bsub
-\family default
-,
-\family typewriter
-qsub
-\family default
-, and
-\family typewriter
-globusrun
-\family default
- batch commands.
- If one of these is found, CitComS is configured to use the corresponding
- batch system (LSF, PBS, and Globus, respectively) instead of launching
- MPI jobs directly using
-\family typewriter
mpirun
\family default
-.
- Run
-\family typewriter
-./configure --help
-\family default
- for information on how to configure the batch system parameters manually.
-\end_layout
-
-\begin_layout Standard
-The proper commands to use in a batch script varies from one cluster to
- the next.
- On some systems,
-\family typewriter
-mpirun
-\family default
is invoked directly from the batch script.
On others, a special wrapper is used instead.
- Therefore, after successfully installing CitComS, you must edit the following
- XML configuration file:
\end_layout
-\begin_layout LyX-Code
-PREFIX/etc/CitcomS/CitcomS.pml
+\begin_layout Standard
+Properly configured, Pyre can handle job submission automatically, insulating
+ users from the details of the batch system and the site configuration.
+ This feature has the most value when the system administrator installs
+ a global Pyre configuration file on the cluster, for the benefit of all
+ users, and all Pyre-based applications.
\end_layout
\begin_layout Standard
-where PREFIX is the directory under which you installed CitComS (default
+For more information on configuring Pyre for your batch system, see the
-\family typewriter
-/usr/local
-\family default
-).
- Edit the defaults as appropriate for your system.
- For example, if you are using LSF, first verify that CitComS is configured
- to use LSF:
-\end_layout
+\begin_inset LatexCommand \url[Pythia page]{http://www.geodynamics.org/cig/software/packages/cs/pythia/}
-\begin_layout LyX-Code
-<property name="launcher">lsf</property>
-\end_layout
+\end_inset
-\begin_layout Standard
-Next, edit the LSF section:
-\end_layout
-
-\begin_layout LyX-Code
-<component name="lsf">
-\end_layout
-
-\begin_layout LyX-Code
- <property name="command">mpijob mpirun</property>
-\end_layout
-
-\begin_layout LyX-Code
- <property name="batch-command">bsub</property>
-\end_layout
-
-\begin_layout LyX-Code
-</component>
-\end_layout
-
-\begin_layout Standard
-In particular, set the
+ on the CIG web site.
+ You may find the
\family typewriter
-command
+--scheduler.dry
\family default
- property to the correct command for launching MPI jobs from a batch script
- on your system.
- For example:
-\end_layout
-
-\begin_layout LyX-Code
-<property name="command">pam -g 1 gmmpirun_wrapper</property>
-\end_layout
-
-\begin_layout Standard
-You may find the
-\family typewriter
---launcher.dry
-\family default
option useful while debugging the batch system configuration:
\end_layout
\begin_layout LyX-Code
-citcoms --launcher.dry
+citcoms --scheduler.dry
\end_layout
\begin_layout Standard
@@ -2498,12 +2667,12 @@
\begin_layout Standard
The only system requirements for this configuration are an MPI library and
- a decent C compiler.
- The final
+ a C compiler.
+ The
\family typewriter
-make install
+make
\family default
- step will install two command-line tools:
+command will build two command-line tools,
\family typewriter
CitcomSFull
\family default
@@ -2511,7 +2680,7 @@
\family typewriter
CitcomSRegional
\family default
-.
+, for running the full solver and the regional solver, respectively.
\end_layout
\begin_layout Section
@@ -2553,7 +2722,7 @@
\end_layout
\begin_layout Standard
-First you must have a Subversion client installed.
+First, you must have a Subversion client installed.
To check, type
\family typewriter
svn
@@ -2623,46 +2792,45 @@
\end_layout
\begin_layout Standard
-Like the release version, the development version depends upon Pythia v0.8.
- In addition, the development version also depends upon a package called
- Exchanger.
- Unless you plan to build only the legacy CitComS tools (see Section
-\begin_inset LatexCommand \ref{sec:Installing-without-Pyre}
+This will create the local directory
+\family typewriter
+CitcomS
+\family default
+ (if it doesn't already exist) and fill it with the latest CitcomS source
+ from the CIG software repository.
+\end_layout
-\end_inset
-
- earlier in this chapter), you will need to check out the Pythia and Exchanger
- packages as well.
- Like CitComS, Exchanger is available from the
-\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
-
-\end_inset
-
+\begin_layout Standard
+The CitcomS directory thus created is called a
+\emph on
+working copy
+\emph default
.
- For convenience, Pythia is also available from the
-\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
-
-\end_inset
-
-.
- To check out Pythia and Exchanger, use the following commands:
+ To merge the lastest changes into an existing working copy, use the
+\family typewriter
+svn update
+\family default
+ command:
\end_layout
\begin_layout LyX-Code
-(TODO: update this description)$ svn checkout svn://geodynamics.org/cig/vendor/py
-thia/v0.8 pythia-0.8
+$ cd CitcomS
\end_layout
\begin_layout LyX-Code
-$ svn checkout svn://geodynamics.org/cig/cs/Exchanger/trunk Exchanger
+$ svn update
\end_layout
+\begin_layout Standard
+This will preserve any local changes you have made to your working copy.
+\end_layout
+
\begin_layout Subsection
Generating the GNU Build System
\end_layout
\begin_layout Standard
-Your working directory should now contain three subdirectories:
+Your working directory should now contain a fresh checkout of CitcomS:
\end_layout
\begin_layout LyX-Code
@@ -2670,26 +2838,13 @@
\end_layout
\begin_layout LyX-Code
-CitcomS Exchanger pythia-0.8
+CitcomS
\end_layout
-\begin_layout Standard
-Each of the three packages must be configured and built separately, in the
- following order:
+\begin_layout LyX-Code
+$
\end_layout
-\begin_layout Enumerate
-pythia-0.8
-\end_layout
-
-\begin_layout Enumerate
-Exchanger
-\end_layout
-
-\begin_layout Enumerate
-CitComS
-\end_layout
-
\begin_layout Standard
But before you can run
\family typewriter
@@ -2702,13 +2857,13 @@
, you must generate the necessary files using the GNU tools.
The easiest way to do this is to run
\family typewriter
-autoreconf -i
+autoreconf -i
\family default
:
\end_layout
\begin_layout LyX-Code
-$ cd pythia-0.8
+$ cd CitcomS
\end_layout
\begin_layout LyX-Code
@@ -2716,72 +2871,14 @@
\end_layout
\begin_layout LyX-Code
-$ ./configure --prefix=$HOME/cig
+$ ./configure
\end_layout
\begin_layout LyX-Code
$ make
\end_layout
-\begin_layout LyX-Code
-$ make install
-\end_layout
-
\begin_layout Standard
-Then, repeat this process for Exchanger and CitComS:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd ../Exchanger
-\end_layout
-
-\begin_layout LyX-Code
-$ autoreconf -i
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout LyX-Code
-$ make
-\end_layout
-
-\begin_layout LyX-Code
-$ make install
-\end_layout
-
-\begin_layout LyX-Code
-$ # set PYTHONPATH
-\family roman
-[so that CitComS can find the newly installed Exchanger]
-\end_layout
-
-\begin_layout LyX-Code
-$ export PYTHONPATH=$HOME/cig/lib/python2.3/site-packages:$PYTHONPATH
-\end_layout
-
-\begin_layout LyX-Code
-$ cd ../CitcomS
-\end_layout
-
-\begin_layout LyX-Code
-$ autoreconf -i
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout LyX-Code
-$ make
-\end_layout
-
-\begin_layout LyX-Code
-$ make install
-\end_layout
-
-\begin_layout Standard
The
\family typewriter
autoreconf
More information about the cig-commits
mailing list