/[escript]/branches/dirac/doc/install/srcommon.tex
ViewVC logotype

Diff of /branches/dirac/doc/install/srcommon.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3322 by jfenwick, Thu Oct 28 05:26:37 2010 UTC revision 3335 by jfenwick, Wed Nov 3 05:02:57 2010 UTC
# Line 15  Line 15 
15  % The original version of this content came from the esscc twiki page maintained by ksteube  % The original version of this content came from the esscc twiki page maintained by ksteube
16    
17  This chapter describes how to build \esfinley from source assuming that the dependencies are already installed (for example using precompiled packages for your OS).  This chapter describes how to build \esfinley from source assuming that the dependencies are already installed (for example using precompiled packages for your OS).
18  Section{sec:deps} describes the dependencies, while Section{sec:compilesrc} gives the compile instructions.  Section~\ref{sec:deps} describes the dependencies, while Section~\ref{sec:compilesrc} gives the compile instructions.
19    
20  If you would prefer to build all the dependecies from source in the escript-support packages please see Chapter{chap:allsrc}.  If you would prefer to build all the dependecies from source in the escript-support packages please see Chapter~\ref{chap:allsrc}.
21  \esfinley is known to compile and run on the following systems:  \esfinley is known to compile and run on the following systems:
22  \begin{itemize}  \begin{itemize}
23   \item \linux using gcc\footnote{There are some problems with \openmp under gcc prior to version 4.3.2. Also do not link the gomp library with gcc 4.3.3 - it causes problems.}   \item \linux using gcc\footnote{There are some problems with \openmp under gcc prior to version 4.3.2. Also do not link the gomp library with gcc 4.3.3 - it causes problems.}
# Line 26  If you would prefer to build all the dep Line 26  If you would prefer to build all the dep
26  \item \winxp using the Visual C compiler (we do not specifically discuss Windows builds in this guide).  \item \winxp using the Visual C compiler (we do not specifically discuss Windows builds in this guide).
27  \end{itemize}  \end{itemize}
28    
29    If you have compiled a previous version of \esfinley please note that the format of the \file{..._options.py} file has changed so you will not be able to reuse old options file for this build.
30    
31    
32  \section{External dependencies}  \section{External dependencies}
33  \label{sec:deps}  \label{sec:deps}
34  The following external packages are required in order to compile and run \esfinley.  The following external packages are required in order to compile and run \esfinley.
# Line 38  You must take greater care if downloadin Line 41  You must take greater care if downloadin
41   \item python-2.5.1 (\url{http://python.org}) \\-   \item python-2.5.1 (\url{http://python.org}) \\-
42          Python interpreter (you must compile with shared libraries.)          Python interpreter (you must compile with shared libraries.)
43   \item numpy 1.1.0 (\url{http://numpy.scipy.org}) \\-   \item numpy 1.1.0 (\url{http://numpy.scipy.org}) \\-
44          Arrays for python          Arrays for Python
45   \item boost-1.35 (\url{http://www.boost.org}) \\-   \item boost-1.35 (\url{http://www.boost.org}) \\-
46          Interface between C++ and Python          Interface between C++ and Python
47   \item scons-0.989.5 (\url{http://www.scons.org/}) \\-   \item scons-0.989.5 (\url{http://www.scons.org/}) \\-
48          Python-based alternative to ``make''.          Python-based alternative to \texttt{make}.
49  \end{itemize}  \end{itemize}
50    
51  The version numbers given here are not strict requirements, more recent (and in some cases older) versions are very likely to work.  The version numbers given here are not strict requirements, more recent (and in some cases older) versions are very likely to work.
# Line 54  These packages may be required for some Line 57  These packages may be required for some
57  \begin{itemize}  \begin{itemize}
58   \item netcdf-3.6.2 (\url{http://www.unidata.ucar.edu/software/netcdf}) \\-   \item netcdf-3.6.2 (\url{http://www.unidata.ucar.edu/software/netcdf}) \\-
59          Used to save data sets in binary form for checkpoint/restart (must be compiled with -fPIC)          Used to save data sets in binary form for checkpoint/restart (must be compiled with -fPIC)
60   \item vtk-5.0.4 (\url{http://www.vtk.org}) \\-  %  \item vtk-5.0.4 (\url{http://www.vtk.org}) \\-
61          Used to save VTK files for visualization  %         Used to save VTK files for visualization
62    \begin{itemize}  %   \begin{itemize}
63     \item cmake-2.4.6 (\url{http://www.cmake.org}) \\-  %    \item cmake-2.4.6 (\url{http://www.cmake.org}) \\-
64          Required to build VTK  %         Required to build VTK
65     \item mesa-7.0.3 (\url{http://www.mesa3d.org})\\-  %    \item mesa-7.0.3 (\url{http://www.mesa3d.org})\\-
66          Free OpenGL replacement used by VTK  %         Free OpenGL replacement used by VTK
67    \end{itemize}  %   \end{itemize}
68   \item netpbm (\url{http://netpbm.sourceforge.com}) \\-   \item netpbm (\url{http://netpbm.sourceforge.com}) \\-
69          Tools for producing movies from images          Tools for producing movies from images
70   \item parmetis-3.1 (\url{http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview}) \\-   \item parmetis-3.1 (\url{http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview}) \\-
# Line 110  As a starting point copy the contents on Line 113  As a starting point copy the contents on
113  \item \file{scons/TEMPLATE_windows.py} (\winxp)  \item \file{scons/TEMPLATE_windows.py} (\winxp)
114  \end{itemize}  \end{itemize}
115    
116    This options file controls which features and libraries your build of escript will attempt to use.
117    For example to use OpenMP or MPI you will need to enable it here.
118    
119    If you want to try escript out without customising your build, then change directories to \file{escript.d} and
120    \begin{shellCode}
121    scons
122    \end{shellCode}
123    If this works you can skip to Section~\ref{sec:diff}.
124    If not, then you will need to make some modications to the the file.
125    Read on.
126    
127  The template files contain all available options with a comment explaining the  The template files contain all available options with a comment explaining the
128  purpose of each.  purpose of each.
129  Check through the file and ensure that the relevant paths and names are correct  Check through the file and ensure that the relevant paths and names are correct
# Line 180  openmp = True Line 194  openmp = True
194  omp_flags = '-fopenmp'  omp_flags = '-fopenmp'
195  omp_ldflags = '-fopenmp'  omp_ldflags = '-fopenmp'
196  \end{shellCode}  \end{shellCode}
197  (The two latter settings can also be left out as this is the default for gcc.)  (The two latter settings can also be left out as this is the default OpenMP on gcc.)
198    
199  You can test your \openmp-enabled build, e.g. using 4 threads by issuing  You can test your \openmp-enabled build, e.g. using 4 threads by issuing
200  \begin{shellCode}  \begin{shellCode}
# Line 221  To test your build using 6 processes ent Line 235  To test your build using 6 processes ent
235  export ESCRIPT_NUM_PROCS=6  export ESCRIPT_NUM_PROCS=6
236  scons all_tests  scons all_tests
237  \end{shellCode}  \end{shellCode}
238  and on 6 processes with 4 threads each (provided \openmp is enabled):  and on $2$ processes with $4$ threads each (provided \openmp is enabled)\footnote{Unless your system has $8$ cores expect this to be slow}:
239  \begin{shellCode}  \begin{shellCode}
240  export ESCRIPT_NUM_THREADS=4  export ESCRIPT_NUM_THREADS=4
241  export ESCRIPT_NUM_PROCS=6  export ESCRIPT_NUM_PROCS=2
242  scons all_tests  scons all_tests
243  \end{shellCode}  \end{shellCode}
244  Alternatively, you can give a hostfile  Alternatively, you can give a hostfile
# Line 236  scons all_tests Line 250  scons all_tests
250  Note that depending on your \mpi flavour it may be required to start a daemon  Note that depending on your \mpi flavour it may be required to start a daemon
251  before running the tests under \mpi.  before running the tests under \mpi.
252    
253  \subsection{Difficulties}  \subsection{Difficulties}\label{sec:diff}
254    
255  \subsubsection{Mismatch of runtime and build libraries}  \subsubsection{Mismatch of runtime and build libraries}
256  Most external libraries used by \esfinley are linked dynamically.  Most external libraries used by \esfinley are linked dynamically.

Legend:
Removed from v.3322  
changed lines
  Added in v.3335

  ViewVC Help
Powered by ViewVC 1.1.26