Skip to content
Snippets Groups Projects
manual.tex 11.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • Debolskiy Andrey's avatar
    Debolskiy Andrey committed
    % LaTeX document
    \documentclass[a4paper,12pt]{article}
    \usepackage[koi8-r]{inputenc}
    \usepackage[russian]{babel}
    \begin{document}
    \begin{titlepage}
    \begin{center}
    
    \Huge{\textbf{
      \\
       \\
    INM~ParLib ( 1.0)}}
    
    \vspace{0.1\textheight}
    \Large{~.~.} \\
    
    \vspace{0.2\textheight}
    \Large{  ~ \\
    , \today}
    
    \end{center}
    \end{titlepage}
    
    \section{}
             INM ParLib,        ~\cite{T126}  ~\cite{AGCM}       .
    
                 ,        ,        ,           .
    
              . 
                   .
             .
    
      ,              ,        .
           ,        ,    .
           ,    .
      ~\cite{Ilghiz}, \cite{Swarztrauber}          ,         ~\cite{Barros}.
    
     ,        ,              (          ,  ).
    
    \section{ }
        ,    ,    .
    
    \subsection{   }
          MPI            ,   MPI.
     ,      {\tt -I{\it \_\_\-\-}/include},  ~-- {\tt -L{\it \_\_}/lib -lparlib}, a          {\tt -lparlibf}.
    
    \subsection{  }
          
    \begin{verbatim}
          INCLUDE 'parlibf.h'
    \end{verbatim}
     ,   
    \begin{verbatim}
    #include 'parlib.h'
    \end{verbatim}
     .
    
    \subsubsection{  }
    
      $\cal A$        .
              ().
    ,      .
           
    \begin{verbatim}
          DIMENSION A(STRIDE(1), ..., STRIDE(NDIMS))
    \end{verbatim}
     {\tt NDIMS}~--   , {\tt STRIDE}~--  .
     ,  {\tt BDIM}~--   ,    $\cal A$         ,         ,      .
    
            \\{\tt P\_BExchange}  :
    \begin{verbatim}
          CALL  P_BEXCAHNGE (ARR, NDIMS, STRIDE, BLKLEN, BDIM, 
         1 OVERLAP, DATATYPE, COMM, PERIOD, IERROR)
    \end{verbatim}
     {\tt ARR}~--      {\tt A};  {\tt BLKLEN}~--      {\tt A},    ,  ,        {\tt ARR(1:BLKLEN(1), ..., 1:BLKLEN(NDIMS))}.
         {\tt OVERLAP},          {\tt OVERLAP(1)}   {\tt BDIM},     ~--   {\tt OVERLAP(2)}. 
      {\tt PERIOD}       . 
      ,              .
        MPI {\tt COMM},     {\tt A}   MPI {\tt DATATYPE}.
    ,    {\tt MPI\_REAL}  {\tt MPI\_DOUBLE\_PRECISION}.
    %   ,           
    
             . 
           :
    \begin{verbatim}
          CALL P_BEXCAHNGE_INIT (NDIMS, STRIDE, BLKLEN, BDIM, 
         1 OVERLAP, DATATYPE, COMM, PERIO, BEXCHANGE, IERROR)
          CALL P_BEXCAHNGE_START (ARR, BEXCHANGE, IERROR)
          CALL P_BEXCAHNGE_END (BEXCHANGE, IERROR)
          CALL P_BEXCAHNGE_FREE (BEXCHANGE, IERROR)
    \end{verbatim}
          ,     ,    ,    {\tt BEXCHANGE},   ,   ,    , , ,      . 
     ,   {\tt P\_BExcahnge\_start}  {\tt P\_BExchange\_end}       ,    .
    
    \subsubsection{}
    ,  $\cal A$        {\tt DIM\_SOURCE}   {\tt LBLKS\_SOURCE(IPROC)},  {\tt IPROC}~--  ,   {\tt DIM\_DEST}    .
        $\cal A$   ,          {\tt LBLKS\_DEST(IPROC)}   {\tt DIM\_DEST}      {\tt DIM\_SOURCE}.
     {\tt ARR\_SOURCE}~--      $\cal A$  ,  {\tt ARR\_DEST}~--  ,        :
    \begin{verbatim}
          CALL P_TRANSPOSE (NDIMS, ARR_SOURCE, DIM_SOURCE, 
         1 LBLKS_SOURCE, ARR_DEST, DIM_DEST, LBLKS_DEST, 
         2 STRIDE, BLKLEN, OVERLAP, DATATYPE, COMM, PERIOD, 
         3 DIAG, IERROR)
    \end{verbatim}
     {\tt NDIMS}~--    $\cal A$, {\tt DATATYPE}~--  MPI,    , {\tt COMM}~--  MPI,   .
    ,    $\cal A$      ,         . 
     ,      ,  {\tt DIAG}    {\tt .FALSE.}   .
    
        $\cal A$      {\tt A\_SOURCE},   ~--  {\tt A\_DEST}.
          
    \begin{verbatim}
          DIMENSION A_SOURCE(DIM_SOURCE(1), ..., DIM_SOURCE(NDIMS))
          DIMENSION A_DEST(DIM_DEST(1), ..., DIM_DEST(NDIMS))
    \end{verbatim}
      {\tt DIM\_SOURCE}    :
    $$
       \texttt{DIM\_SOURSE(IDIM)}=\left\{
       \begin{array}{l}
          \texttt{BLKLEN(DIM\_SOURCE)} \textrm{,  } \texttt{IDIM=DIM\_SOURCE}\\
          \texttt{STRIDE(IDIM)} \textrm{,   }
       \end{array}\right.
    $$
      {\tt DIM\_DEST}:
    $$
       \texttt{DIM\_DEST(IDIM)}=\left\{
       \begin{array}{l}
          \texttt{BLKLEN(DIM\_DEST)} \textrm{,  } \texttt{IDIM=DIM\_DEST}\\
          \texttt{STRIDE(IDIM)} \textrm{,   }
       \end{array}\right.
    $$
    
        {\tt A\_SOURCE}  {\tt A\_DEST}       ,   :
    \begin{verbatim}
          ARR_SOURCE(1:BLK_SOURCE(1), ..., 1:BLK_SOURCE(NDIMS)
          ARR_DEST(1:BLK_DEST(1), ..., 1:BLK_DEST(NDIMS)
    \end{verbatim}
        :
    $$
       \texttt{BLK\_SOURCE(IDIM)}=\left\{
       \begin{array}{l}
          \texttt{LBLKS\_SOURCE(IPROC)} \textrm{,  } \texttt{IDIM=DIM\_SOURCE} \\
          \sum\texttt{LBLKS\_DEST} \textrm{,  } \texttt{IDIM=DIM\_DEST} \\
          \texttt{BLKLEN(IDIM)} \textrm{,   }
       \end{array}\right.
    $$
    $$
       \texttt{BLK\_DEST(IDIM)}=\left\{
       \begin{array}{l}
          \texttt{LBLKS\_DEST(IPROC)} \textrm{,  } \texttt{IDIM=DIM\_DEST} \\
          \sum\texttt{LBLKS\_SOURE} \textrm{,  } \texttt{IDIM=DIM\_SOURCE} \\
          \texttt{BLKLEN(IDIM)} \textrm{,   }
       \end{array}\right.
    $$
    
           :
    \begin{verbatim}
          CALL P_TRANSPOSE_INIT (NDIMS, DIM_SOURCE, LBLKS_SOURCE, 
         1 DIM_DEST, LBLKS_DEST, STRIDE, BLKLEN, OVERLAP, DATATYPE, 
         2 COMM, PERIOD, DIAG, TRANSP, IERROR)
          CALL P_TRANSPOSE_START (ARR_SOURCE, ARR_DEST, TRANSP, 
         1 IERROR)
          CALL P_TRANSPOSE_END (TRANSP, IERROR)
          CALL P_TRANSPOSE_FREE (TRANSP, IERROR)
    \end{verbatim}
     {\tt TRANSP}~--  .
    
    \begin{thebibliography}{}
    \bibitem{T126} ~.~.        T126       . Optimization of Finite Element Approximations, Splines and Wavelets (OFEA'2001). Abstracts of International conference (June~25--29, 2001, St.-Petersburg, Russia), 2001, 184~p.
    
    \bibitem{AGCM} .~A.~Tolstykh, V.~N.~Gloukhov. Implementation of global atmospheric models on parallel computers. {\it  .}    ~, .
    
    \bibitem{Ilghiz} ~.~.       .    .  , , 1999.
    
    \bibitem{Swarztrauber} P.~N.~Swarztrauber, S.~W.~Hammond. A comparison of optimal FFTs on torus and hypercube multicomputers. {\it Parallel computing},~27 (2001), pp.~847--859.
    
    \bibitem{Barros} Barros,~S.~R.~M., Kauranne,~T. On the parallelization of global spectral weather models. {\it Parallel Computing},~20 (1994), pp.~1335--1356.
    
    \bibitem{Rodriguez} B.~Rodriguez, L.~Hart, T.~Henderson. Performance and portability in parallel computing: a weather forecasr view. {\it High Performance Computing in the Geosciences}, 1995, Kluwer Academic Publishers, Netherlands, pp.~1--23.
    
    \bibitem{Henderson} T.~Henderson, D.~Shaffer, M.~Govett, L.~Hart. SMS User's Guide. Advanced Computing Branch, Aviation Division, NOAA Forecast system laboratory, Boulder, 2001.
    
    \end{thebibliography}
    
    \end{document}