<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>ALGORITHMS FOR THE CALCULATION OF NONLINEAR PROCESSES ON HYBRID ARCHITECTURE CLUSTERS</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A.V. Bogdanov</string-name>
          <email>bogdanov@csa.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V.V. Mareev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>N. Storublevtcev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>St.Petersburg State University</institution>
          ,
          <addr-line>7/9 Universitetskaya nab., St. Petersburg, 199034</addr-line>
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>333</fpage>
      <lpage>336</lpage>
      <abstract>
        <p>The problem of porting programs from one hardware platform to another has not ceased to be less relevant and simpler with time. The purpose of our work is to identify the key features of algorithms in porting codes for calculating of essentially nonlinear processes to a modern cluster of hybrid architecture that includes both CPUs (Intel Xeon) and GPU (NVIDIA TESLA) processors. As a test problem for studying the process of porting a code to a cluster of hybrid architecture, the KPI equation of Kadomtsev-Petviashvili was chosen, written in integro-differential form [1], [2].</p>
      </abstract>
      <kwd-group>
        <kwd>High performance computing</kwd>
        <kwd>CPU architectures</kwd>
        <kwd>GPU</kwd>
        <kwd>FPGA</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Proceedings of the VIII International Conference "Distributed Computing and Grid-technologies in Science and</p>
      <p>Education" (GRID 2018), Dubna, Moscow region, Russia, September 10 - 14, 2018</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>Porting a computational task to a graphics processor is a difficult problem. As a rule, the
program is ported to a graphics accelerator for the sake of improving performance. The main problem
during the transfer is to preserve the correctness of program execution.</p>
      <p>It is impossible to transfer the entire code to the graphics processor. The code will always be
launched from the central processor. In any program, there are serial sections of code that cannot be
parallelized and thus are meaninglessly transferred to a graphics processor due to its peculiarities,
nature of GPU architecture and the increased cost of data transfer.</p>
    </sec>
    <sec id="sec-3">
      <title>2. The test problem</title>
      <p>As a test problem consider the two-dimensional Kadomtsev-Petviashvili equation — KPI
[  + 0.5( 2) +   
−  ] =   
(−∞, ∞),  ,  ≥ 0,  ( ,  ) is external source [1].</p>
      <p>
        Equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) with respect to function  ( ,  ,  ) is considered in the domain  ≥ 0,  ,  ∈
Instead of the original equation (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) its integro-differential analogue is considered [2]
  + 0.5( 2) +   
=  ∫   ( ′,  ,  ) ′+  ( ,  )
      </p>
      <p>−∞
∆
∆
4∆
= ∆    , +1 + ∆   ,</p>
      <p>
        Solution of the equation (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) in half-plane  ≥ 0 is sought for initial distribution  ( ,  , 0) =
 ( ,  ). The numerical simulation of the equation (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) is carried out using a linearized implicit
finitedifference scheme using in some cases the flux correction procedure (FCT) [3].
      </p>
      <p>
        For equation (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), the approximation is performed using the central-difference operators.
   ,+1 −    , +
(   ++11, −    −+11, ) +
      </p>
      <p>2∆ 3 (   ++21, − 2   ++11, + 2   −+11, −    −+21, )
The resulting system of difference equations (3) is reduced to the form:</p>
      <p>∆   −+21, +  ∆   −+11, +   ∆   , +1 +   ∆   ++11, +   ∆   ++21, =    ,
with ∆   ,+1 =    ,+1 −    , and    , +1 ≡ ( 2) +1 = ( 2) , + 2   , ∆   ,+1 +  (∆ 2)
 ,
Notations used in equation (3) traditional for finite difference schemes:
 ( ∆ ,  ∆ ,  ∆ ) =    , ,
∫
     ′ ≈ ∫ min    ′ ≡    , ,
−∞
 max] × [0,  ] — computational domain.
with ∆ , ∆</p>
      <p>
        being the spatial coordinates steps, ∆ being the time step, [ min,  max] × [ min,
The boundary conditions are used:   =  
= 0 along boundary lines  1 and   , and   = 0
along the lines  1 and   (  min =  1,  max =   ,  min =  1,  max =   :
 −1, =  0, =  1, ;  
 +2, =  
 +1, =  
 , ;  
 ,0 =    ,1;  
 , +1 =    ,
The system (
        <xref ref-type="bibr" rid="ref3">4</xref>
        ) is solved by a five-point run.
      </p>
      <p>As an initial distribution is considered the ellipsoid of rotation:
 ( ,  ) =  1√1 −
 2  2
 12 −
 12
with the volume  1 = 2  1 1 1/3, and  1,  1,  1 being the half axis.</p>
      <p>Similarly to the initial distribution (5), the distribution of sources as an ellipsoid of rotation is
chosen:
 ( ,  ) =  2√1 −
( −  0)2
 22
−
( −  0)2
 22
with the volume  2 = 2  2 2 2/3, and  2,  2,  2 being the half axis, ( 0,  0) — center of ellipsoid.</p>
      <p>The proposed approach is quite natural for porting to GPGPU since it consists of many
iterations within which it is necessary to solve large systems of linear equations. Taking into account
peculiarities of GPGPU architecture [4] we solve systems of linear equations on GPGPU leaving all
pre- and postprocessing to CPU. This approach is realized by semi-automatic procedure, described in
[4].</p>
      <p>In Figure 1, 2 we show the moments of the perturbations evolution for the values  1 = 2,
 1 = 3,  1 = 7.5, т.е.  1 = 20 and  2 = 2,  2 = 3,  2 = 2.5,  0 = −14,  0 = 14,  2 = 10 . The
calculation was carried out without FCT procedure.
3. Conclusion</p>
      <p>1. As a result of our approach, an algorithm was proposed for transferring the simulation
program for a two-dimensional nonstationary model problem to a hybrid system. The features of such
a transition are revealed.</p>
      <p>2. The use of modern hybrid systems in combination with the new algorithmic approach
has allowed also to create a software and hardware platform for mass computations of wave processes.</p>
      <p>3. There are no substantial bottlenecks for GPGPU onboard memory and the attempts to
use heterogeneous systems for 3D computations are justified.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgement</title>
      <p>This work was supported by the grant of Saint Petersburg State University no. 26520170
and the Russian Foundation for Basic Research (RFBR), grant #16-07-01113.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Bogdanov</surname>
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mareev</surname>
            <given-names>V.V.</given-names>
          </string-name>
          <string-name>
            <surname>Numerical Simulation</surname>
          </string-name>
          KPI Equation // Proceedings of the 15th
          <source>International Ship Stability Workshop</source>
          ,
          <year>June 2016</year>
          , Stockholm, Sweden. pp.
          <fpage>115</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bogdanov</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mareev</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kulabukhova</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shchegoleva</surname>
            <given-names>N</given-names>
          </string-name>
          .
          <source>Influence of External Source on KPI Equation. Lecture Notes in Computer Science book series (LNCS</source>
          , volume
          <volume>10963</volume>
          ),
          <year>2018</year>
          , pp
          <fpage>123</fpage>
          -
          <lpage>135</lpage>
          [3]
          <string-name>
            <surname>Fletcher</surname>
            <given-names>C.A.J.</given-names>
          </string-name>
          <string-name>
            <surname>Computational</surname>
          </string-name>
          <article-title>Techniques for Fluid Dynamics 1 // 2nd edition</article-title>
          . - Springer-Verlag,
          <year>1991</year>
          . 401 p.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Bogdanov</surname>
          </string-name>
          , Nikita Storublevtcev,
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Mareev</surname>
          </string-name>
          .
          <article-title>On porting of applications to new heterogeneous systems // Proceedings of the VIII International Conference "Distributed Computing and Grid-technologies in Science and Education" (</article-title>
          <year>GRID 2018</year>
          ) [In print]
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>