Xyst test code coverage report
Current view: top level - Inciter - transporter.ci Coverage Total Hit
Commit: 1fb74642dd9d7732b67f32dec2f2762e238d3fa7 Lines: 50.0 % 2 1
Test Date: 2025-08-13 22:46:33 Functions: - 0 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : // *****************************************************************************
       2              : /*!
       3              :   \file      src/Inciter/transporter.ci
       4              :   \copyright 2012-2015 J. Bakosi,
       5              :              2016-2018 Los Alamos National Security, LLC.,
       6              :              2019-2021 Triad National Security, LLC.,
       7              :              2022-2025 J. Bakosi
       8              :              All rights reserved. See the LICENSE file for details.
       9              :   \brief     Charm++ module interface file for Transporter
      10              :   \details   Charm++ module interface file for Transporter
      11              : */
      12              : // *****************************************************************************
      13              : 
      14              : module transporter {
      15              : 
      16              :   include "Types.hpp";
      17              : 
      18              :   extern module meshwriter;
      19              : 
      20              :   namespace inciter {
      21              : 
      22              :     chare [migratable] Transporter {
      23              :       entry Transporter();
      24              :       entry [reductiontarget] void load( std::size_t meshid,
      25              :                                          std::size_t nelem );
      26              :       entry [reductiontarget] void partitioned();
      27              :       entry [reductiontarget] void distributed( std::size_t meshid );
      28              :       entry [reductiontarget] void refinserted( std::size_t meshid,
      29              :                                                 std::size_t error );
      30              :       entry [reductiontarget] void discinserted( std::size_t meshid );
      31              :       entry [reductiontarget] void disccreated( std::size_t summeshid,
      32              :                                                 std::size_t npoin );
      33              :       entry [reductiontarget] void workinserted( std::size_t meshid );
      34              :       entry [reductiontarget] void queriedRef( std::size_t meshid );
      35              :       entry [reductiontarget] void respondedRef( std::size_t meshid );
      36              :       entry [reductiontarget] void compatibility( std::size_t meshid );
      37              :       entry [reductiontarget] void matched( std::size_t summeshid,
      38              :                                             std::size_t nextra,
      39              :                                             std::size_t nref,
      40              :                                             std::size_t nderef,
      41              :                                             std::size_t initial );
      42              :       entry [reductiontarget] void bndint( tk::real sx,
      43              :                                            tk::real sy,
      44              :                                            tk::real sz,
      45              :                                            tk::real cb,
      46              :                                            tk::real summeshid );
      47              :       entry [reductiontarget] void refined( std::size_t meshid,
      48              :                                             std::size_t nelem,
      49              :                                             std::size_t npoin );
      50              :       entry [reductiontarget] void resized( std::size_t meshid );
      51              :       entry [reductiontarget] void queried( std::size_t meshid );
      52              :       entry [reductiontarget] void responded( std::size_t meshid );
      53              :       entry [reductiontarget] void queriedPart( std::size_t meshid );
      54              :       entry [reductiontarget] void respondedPart( std::size_t meshid );
      55              :       entry [reductiontarget] void totalvol( tk::real v,
      56              :                                              tk::real initial,
      57              :                                              tk::real summeshid );
      58              :       entry [reductiontarget] void minstat( tk::real d0, tk::real d1,
      59              :         tk::real d2, tk::real d3, tk::real d4, tk::real d5, tk::real rmeshid );
      60              :       entry [reductiontarget] void maxstat( tk::real d0, tk::real d1,
      61              :         tk::real d2, tk::real d3, tk::real d4, tk::real d5, tk::real rmeshid );
      62              :       entry [reductiontarget] void sumstat( tk::real d0, tk::real d1,
      63              :         tk::real d2, tk::real d3, tk::real d4, tk::real d5, tk::real d6,
      64              :         tk::real d7, tk::real d8, tk::real summeshid );
      65              :       entry [reductiontarget] void pdfstat( CkReductionMsg* msg );
      66              :       entry [reductiontarget] void transfer_dt( tk::real dt );
      67              :       entry [reductiontarget] void boxvol( tk::real v, tk::real summeshid );
      68              :       entry [reductiontarget] void rhodiagnostics( CkReductionMsg* msg );
      69              :       entry [reductiontarget] void prediagnostics( CkReductionMsg* msg );
      70              :       entry [reductiontarget] void acdiagnostics( CkReductionMsg* msg );
      71          255 :       entry [reductiontarget] void integrals( CkReductionMsg* msg );
      72              :       entry void resume();
      73              :       entry [reductiontarget] void checkpoint( std::size_t finished,
      74              :                                                std::size_t meshid );
      75              :       entry [reductiontarget] void finish( std::size_t meshid );
      76              : 
      77            0 :       entry void pepartitioned();
      78              :       entry void pedistributed();
      79              :       entry void chcomm();
      80              :       entry void chmask();
      81              :       entry void chreordered();
      82              :       entry void chcreated();
      83              : 
      84              :       // SDAG code follows. See http://charm.cs.illinois.edu/manuals/html/
      85              :       // charm++/manual.html, Sec. "Structured Control Flow: Structured Dagger".
      86              : 
      87              :       entry void wait4stat() {
      88              :         forall [meshid] ( 0 : m_nelem.size(), 1 ) {
      89              :           when minstat_complete[meshid]( std::size_t _meshid ),
      90              :                maxstat_complete[meshid]( std::size_t _meshid ),
      91              :                sumstat_complete[meshid]( std::size_t _meshid ),
      92              :                pdfstat_complete[meshid]( std::size_t _meshid )
      93              :           serial "stat" { stat(); }
      94              :         }
      95              :       };
      96              : 
      97              :       entry void wait4part() {
      98              :         forall [meshid] ( 0 : m_nelem.size(), 1 ) {
      99              :           when part_complete[meshid]( std::size_t _meshid )
     100              :           serial "part" { partitioned(); }
     101              :         }
     102              :       };
     103              : 
     104              :       entry void minstat_complete( std::size_t _meshid );
     105              :       entry void maxstat_complete( std::size_t _meshid );
     106              :       entry void sumstat_complete( std::size_t _meshid );
     107              :       entry void pdfstat_complete( std::size_t _meshid );
     108              :       entry void part_complete( std::size_t _meshid );
     109              :     }
     110              : 
     111              :   } // inciter::
     112              : 
     113              : }
        

Generated by: LCOV version 2.0-1