LCOV - code coverage report
Current view: top level - src/kokkos/kernels - KokkosADKernel.K (source / functions) Hit Total Coverage
Test: idaholab/moose framework: #32971 (54bef8) with base c6cf66 Lines: 30 30 100.0 %
Date: 2026-05-29 20:35:17 Functions: 6 6 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://www.mooseframework.org
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "KokkosADKernel.h"
      11             : 
      12             : namespace Moose::Kokkos
      13             : {
      14             : 
      15             : InputParameters
      16        6928 : ADKernel::validParams()
      17             : {
      18        6928 :   InputParameters params = KernelBase::validParams();
      19        6928 :   return params;
      20             : }
      21             : 
      22         317 : ADKernel::ADKernel(const InputParameters & parameters)
      23             :   : KernelBase(parameters, Moose::VarFieldType::VAR_FIELD_STANDARD),
      24             :     _test(),
      25             :     _grad_test(),
      26             :     _phi(),
      27             :     _grad_phi(),
      28         165 :     _u(_var),
      29         165 :     _grad_u(_var)
      30             : {
      31         317 :   addMooseVariableDependency(&_var);
      32         317 : }
      33             : 
      34             : void
      35        1056 : ADKernel::computeResidual()
      36             : {
      37        1056 :   _computing_residual = true;
      38        1056 :   _computing_jacobian = false;
      39             : 
      40        1056 :   dispatch();
      41        1056 : }
      42             : 
      43             : void
      44          96 : ADKernel::computeJacobian()
      45             : {
      46          96 :   _computing_residual = false;
      47          96 :   _computing_jacobian = true;
      48             : 
      49          96 :   dispatch();
      50          96 : }
      51             : 
      52             : void
      53       14547 : ADKernel::computeResidualAndJacobian()
      54             : {
      55       14547 :   _computing_residual = true;
      56       14547 :   _computing_jacobian = true;
      57             : 
      58       14547 :   dispatch();
      59       14547 : }
      60             : 
      61             : void
      62       15699 : ADKernel::dispatch()
      63             : {
      64       15699 :   _thread.resize(_num_local_threads, numKokkosBlockElements());
      65             : 
      66       15699 :   Policy policy(0, _thread.size());
      67             : 
      68       15699 :   if (!_residual_dispatcher)
      69         295 :     _residual_dispatcher = DispatcherRegistry::build<ResidualLoop>(this, type());
      70             : 
      71       15699 :   _residual_dispatcher->parallelFor(policy);
      72       15699 : }
      73             : 
      74             : } // namespace Moose::Kokkos

Generated by: LCOV version 1.14