/[MITgcm]/manual/s_software/text/sarch.tex
ViewVC logotype

Diff of /manual/s_software/text/sarch.tex

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

revision 1.15 by afe, Thu Jan 29 15:39:49 2004 UTC revision 1.20 by edhill, Sat Oct 16 03:40:16 2004 UTC
# Line 17  details of the MITgcm implementation and Line 17  details of the MITgcm implementation and
17  features that are employed.  features that are employed.
18    
19  \section{Overall architectural goals}  \section{Overall architectural goals}
20    \begin{rawhtml}
21    <!-- CMIREDIR:overall_architectural_goals: -->
22    \end{rawhtml}
23    
24  Broadly, the goals of the software architecture employed in MITgcm are  Broadly, the goals of the software architecture employed in MITgcm are
25  three-fold  three-fold
# Line 76  floating point operations.} Line 79  floating point operations.}
79  \end{figure}  \end{figure}
80    
81  \section{WRAPPER}  \section{WRAPPER}
82    \begin{rawhtml}
83    <!-- CMIREDIR:wrapper: -->
84    \end{rawhtml}
85    
86  A significant element of the software architecture utilized in  A significant element of the software architecture utilized in
87  MITgcm is a software superstructure and substructure collectively  MITgcm is a software superstructure and substructure collectively
# Line 150  easily be specialized to fit, in a compu Line 156  easily be specialized to fit, in a compu
156  computer architecture currently available to the scientific computing community.  computer architecture currently available to the scientific computing community.
157    
158  \subsection{Machine model parallelism}  \subsection{Machine model parallelism}
159    \begin{rawhtml}
160    <!-- CMIREDIR:domain_decomp: -->
161    \end{rawhtml}
162    
163   Codes operating under the WRAPPER target an abstract machine that is assumed to   Codes operating under the WRAPPER target an abstract machine that is assumed to
164  consist of one or more logical processors that can compute concurrently.    consist of one or more logical processors that can compute concurrently.  
# Line 537  of almost all successful scientific comp Line 546  of almost all successful scientific comp
546  last 50 years.  last 50 years.
547    
548  \section{Using the WRAPPER}  \section{Using the WRAPPER}
549    \begin{rawhtml}
550    <!-- CMIREDIR:using_the_wrapper: -->
551    \end{rawhtml}
552    
553  In order to support maximum portability the WRAPPER is implemented primarily  In order to support maximum portability the WRAPPER is implemented primarily
554  in sequential Fortran 77. At a practical level the key steps provided by the  in sequential Fortran 77. At a practical level the key steps provided by the
# Line 1267  The \_EXCH operation is also central to Line 1279  The \_EXCH operation is also central to
1279  the cube-sphere grid. In this class of grid a rotation may be required  the cube-sphere grid. In this class of grid a rotation may be required
1280  between tiles. Aligning the coordinate requiring rotation with the  between tiles. Aligning the coordinate requiring rotation with the
1281  tile decomposition, allows the coordinate transformation to  tile decomposition, allows the coordinate transformation to
1282  be embedded within a custom form of the \_EXCH primitive.  be embedded within a custom form of the \_EXCH primitive.  In these
1283    cases \_EXCH is mapped to exch2 routines, as detailed in the exch2
1284    package documentation  \ref{sec:exch2}.
1285    
1286  \item {\bf Reverse Mode}  \item {\bf Reverse Mode}
1287  The communication primitives \_EXCH and \_GSUM both employ  The communication primitives \_EXCH and \_GSUM both employ
# Line 1284  operations. However, the routine argumen Line 1298  operations. However, the routine argumen
1298  is set to the value {\em REVERSE\_SIMULATION}. This signifies  is set to the value {\em REVERSE\_SIMULATION}. This signifies
1299  ti the low-level routines that the adjoint forms of the  ti the low-level routines that the adjoint forms of the
1300  appropriate communication operation should be performed.  appropriate communication operation should be performed.
1301    
1302  \item {\bf MAX\_NO\_THREADS}  \item {\bf MAX\_NO\_THREADS}
1303  The variable {\em MAX\_NO\_THREADS} is used to indicate the  The variable {\em MAX\_NO\_THREADS} is used to indicate the
1304  maximum number of OS threads that a code will use. This  maximum number of OS threads that a code will use. This
# Line 1388  a series of template files, for example Line 1403  a series of template files, for example
1403  This is done to allow a large number of variations on the exchange  This is done to allow a large number of variations on the exchange
1404  process to be maintained. One set of variations supports the  process to be maintained. One set of variations supports the
1405  cube sphere grid. Support for a cube sphere grid in MITgcm is based  cube sphere grid. Support for a cube sphere grid in MITgcm is based
1406  on having each face of the cube as a separate tile (or tiles).  on having each face of the cube as a separate tile or tiles.
1407  The exchange routines are then able to absorb much of the  The exchange routines are then able to absorb much of the
1408  detailed rotation and reorientation required when moving around the  detailed rotation and reorientation required when moving around the
1409  cube grid. The set of {\em \_EXCH} routines that contain the  cube grid. The set of {\em \_EXCH} routines that contain the
# Line 1412  quantities at the C-grid vorticity point Line 1427  quantities at the C-grid vorticity point
1427    
1428    
1429  \section{MITgcm execution under WRAPPER}  \section{MITgcm execution under WRAPPER}
1430    \begin{rawhtml}
1431    <!-- CMIREDIR:mitgcm_wrapper: -->
1432    \end{rawhtml}
1433    
1434  Fitting together the WRAPPER elements, package elements and  Fitting together the WRAPPER elements, package elements and
1435  MITgcm core equation elements of the source code produces calling  MITgcm core equation elements of the source code produces calling

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22