/[escript]/trunk/doc/user/Installation.tex
ViewVC logotype

Annotation of /trunk/doc/user/Installation.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1805 - (hide annotations)
Wed Sep 24 23:39:00 2008 UTC (10 years, 6 months ago) by ksteube
File MIME type: application/x-tex
File size: 6655 byte(s)
Added python-level methods getMPISizeWorld() and getMPIRankWorld() for MPI process info.
Test suite run_inputOutput.py runs on any number of cores now, hybrid may still be a problem.

1 ksteube 1316 %
2 gross 625 % $Id$
3     %
4 ksteube 1316 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 gross 625 %
6 ksteube 1316 % Copyright 2003-2007 by ACceSS MNRF
7     % Copyright 2007 by University of Queensland
8     %
9     % http://esscc.uq.edu.au
10     % Primary Business: Queensland, Australia
11     % Licensed under the Open Software License version 3.0
12     % http://www.opensource.org/licenses/osl-3.0.php
13     %
14     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15     %
16    
17 gross 565 \chapter{Installation}
18     \label{INSTALL}
19 jgs 82
20 gross 723 Visit \url{http://iservo.edu.au/twiki/bin/view/ESSCC/EsysUser} for more information.
21 jgs 82
22 ksteube 1318 \section{Software Needed for Installation}
23 jgs 102
24 gross 723 \begin{itemize}
25 ksteube 1318 \item scons 0.96.91 or newer (see \url{http://www.scons.org/})
26     \item python 2.3.4 or higher (see \url{http://www.python.org/})
27     \item numarray 0.9 or higher (see \url{http://www.stsci.edu/resources/software_hardware/numarray})
28     \item python boost boost 1.31.0 or higher (see \url{http://www.boost.org/})
29 ksteube 1316 \item g++ (see \url{http://gcc.gnu.org/}) or Intel c++ compiler (see \\
30     \url{http://www.intel.com/cd/software/products/asmo-na/eng/compilers/}).
31 gross 723 \end{itemize}
32 gross 707
33 ksteube 1318 \subsection{Optional Libraries}
34 lgraham 1700 These libraries are optional at compile time. By default, they are switched off.
35 gross 723 \begin{itemize}
36 ksteube 1316 \item parallel direct solver from the SGI SCSL library (see \url{http://www.sgi.com/products/software/scsl.html})
37     \item parallel direct solver from Intel MKL library which is included with the Intel compilers (see \url{http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/}).
38 gross 723 \end{itemize}
39 gross 707
40 ksteube 1318 \subsection{Optional Software}
41 gross 723
42 jgs 107 \begin{itemize}
43 ksteube 1316 \item visualization with our pyvisi interface to VTK:
44     \item vtk 4.2.1 or newer with with python interface (see \url{http://public.kitware.com/VTK/}).
45     \item Alternatives for off-line visualization:
46 gross 723 \begin{itemize}
47 ksteube 1316 \item mayavi (see \url{http://mayavi.sourceforge.net/}).
48     \item opendx (see \url{http://www.opendx.org/}).
49 gross 723 \end{itemize}
50 ksteube 1316 \item Alternatives for on-line visualization:
51 gross 723 \begin{itemize}
52 ksteube 1316 \item gnuplot with with python interface (see \url{http://www.gnuplot.info/}).
53     \item povray (see \url{http://www.povray.org/}).
54 jgs 107 \end{itemize}
55 gross 723 \end{itemize}
56 gross 565
57 ksteube 1318 \section{Get the Source Code}
58 gross 723
59 ksteube 1316 You can download the complete source code, examples and release tests from \url{https://shake200.esscc.uq.edu.au/twiki/bin/view/ESSCC/EsysUser}.
60 gross 723 Files can be downloaded as *.zip or *.tar.gz files.
61 ksteube 1318 This software is distributed under the Open Software License version 3.0 (see \url{http://www.opensource.org/licenses/osl-3.0.php}).
62 gross 723
63 ksteube 1318 \subsection{Unpack zip File}
64 gross 723 Use the commands
65    
66     \begin{verbatim}
67 ksteube 1316 mkdir <my esys dir>
68     mv escript*.zip <my esys dir>
69 gross 723 cd <my esys dir>
70     unzip escript*.zip
71     \end{verbatim}
72    
73     to unzip the source files into the directory \verb|<my esys dir>|.
74    
75 ksteube 1318 \subsection{Unpack tar File}
76 gross 723
77     Use the commands
78    
79     \begin{verbatim}
80     mkdir <my esys dir>
81 ksteube 1316 mv escript*.tar.gz <my esys dir>
82 gross 723 cd <my esys dir>
83     tar xzf escript*.tar.gz
84     \end{verbatim}
85    
86     to unpack the source files into the directory \verb|<my esys dir>|.
87    
88 gross 565 \section{Installation}
89 gross 723
90     The installation is started by
91     \begin{verbatim}
92     cd <my esys dir>
93 ksteube 1705 scons usedebug=no
94 gross 723 \end{verbatim}
95 ksteube 1316 By default the configuration for Linux is used. If there is a file \verb|scons/<hostname>_options.py| it will contain values to over-ride the default settings. Use =scons/ess_options.py= as a staring point to create a file for your machine. If you want to use personalized settings in a file called =myoptions.py= you can run
96 gross 723 \begin{verbatim}
97     cd <my esys dir>
98 ksteube 1705 scons usedebug=no options_file=myoptions.py
99 gross 723 \end{verbatim}
100 ksteube 1318 You can also over-ride individual settings through the command line:
101 gross 723 \begin{verbatim}
102     cd <my esys dir>
103 ksteube 1705 scons usedebug=no libinstall=/usr/lib
104 gross 723 \end{verbatim}
105 ksteube 1318 This will install the libraries into the directory \verb|/usr/lib|.
106 gross 723
107 ksteube 1316 Help on options is available with:
108 gross 723 \begin{verbatim}
109     cd <my esys dir>
110     scons -h
111     \end{verbatim}
112 ksteube 1316 To uninstall the software use
113 gross 723 \begin{verbatim}
114     cd <my esys dir>
115     scons -c
116     \end{verbatim}
117    
118     If you have more than one processor available for compilation you can use the -j option to tell scons to do parallel compiles:
119     \begin{verbatim}
120     cd <my esys dir>
121 ksteube 1705 scons usedebug=no -j 8
122 gross 723 \end{verbatim}
123     \section{Running Release Tests}
124 ksteube 1316 You can run the test suite of approximately 30,000 unit tests in a few hours with
125 gross 723 \begin{verbatim}
126     cd <my esys dir>
127 ksteube 1705 scons usedebug=no all_tests
128 gross 723 \end{verbatim}
129    
130 ksteube 1318 \section{Environment Setup}
131 gross 723 To make esys accessible from python you have to set
132     \begin{verbatim}
133     export PYTHONPATH=<my esys dir>:${PYTHONPATH}
134     export LD_LIBRARY_PATH=<my esys dir>/lib:${LD_LIBRARY_PATH}
135     \end{verbatim}
136    
137 ksteube 1316 If you build \esys with
138 gross 723 \begin{verbatim}
139 ksteube 1316 cd <my esys dir>
140 ksteube 1705 scons usedebug=no prefix=/usr
141 ksteube 1316 \end{verbatim}
142     then your libraries and python modules will be installed in system directories and you will
143     not have to set LD_LIBRARY_PATH and PYTHONPATH (assuming python is installed in
144     /usr/lib/python/site-modules).
145    
146     Now you are ready to test your setup by running one of the supplied examples
147     \begin{verbatim}
148 gross 723 cd <my esys dir>/doc/examples
149     python poisson.py
150     \end{verbatim}
151    
152 ksteube 1318 \subsection{OpenMP Support}
153 gross 723
154 ksteube 1316 If your system and compiler support OpenMP parallelization and OpenMP parallelization has been switched on during compilation you need to set the following environment variable to run scripts in parallel (in this case with four threads):
155 gross 723 \begin{verbatim}
156     export OMP_NUM_THREADS=4
157     cd <my esys dir>/doc/examples
158     python poisson.py
159     \end{verbatim}
160    
161 ksteube 1318 \subsection{MPI Support}
162    
163 ksteube 1705 If you wish to use MPI parallelization, and it has been switched on during compilation with usempi=yes, you need to use the following commands to run scripts in parallel (in this case with four CPUs):
164 ksteube 1316 \begin{verbatim}
165     cd <my esys dir>/doc/examples
166     mpirun -np 4 <my esys dir>/lib/pythonMPI poisson.py
167     \end{verbatim}
168    
169 ksteube 1567 When running an MPI job the standard output of process zero goes to the screen, while the standard output of the other processes
170     is automatically redirected to files with names like stdout_cpu_0001.out.
171    
172 ksteube 1805 A python script can obtain the MPI rank and size in two ways.
173     The global number of MPI processes and rank (relative to MPI_COMM_WORLD) are available through
174     \begin{verbatim}
175     iam = getMPIRankWorld()
176     nPE = getMPISizeWorld()
177     \end{verbatim}
178    
179     The rank and size relative to a particular domain object (which may be limited to run on a subset of the
180     total list of MPI processes in future versions of Escript) are available through
181     \begin{verbatim}
182     iam = domain.getMPIRankWorld()
183     nPE = domain.getMPISizeWorld()
184     \end{verbatim}
185    
186 ksteube 1318 \section{Getting Help}
187 ksteube 1316 Please direct any questions you might have to \url{mailto:esys@esscc.uq.edu.au}.

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26