Skip to content

Commit 79c96ac

Browse files
author
Riyaz Haque
committed
Add caliper annotations
1 parent d2feab4 commit 79c96ac

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

laghos_solver.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,13 @@
2020
#include <unordered_map>
2121

2222
#ifdef USE_CALIPER
23+
#include <caliper/cali.h>
2324
#include <adiak.hpp>
25+
#define LAGHOS_CALI_MARK_BEGIN(x) CALI_MARK_BEGIN(x)
26+
#define LAGHOS_CALI_MARK_END(x) CALI_MARK_END(x)
27+
#else
28+
#define LAGHOS_CALI_MARK_BEGIN(x)
29+
#define LAGHOS_CALI_MARK_END(x)
2430
#endif
2531

2632
#ifdef MFEM_USE_MPI
@@ -344,8 +350,10 @@ void LagrangianHydroOperator::SolveVelocity(const Vector &S,
344350
{
345351
LAGHOS_DEVICE_SYNC;
346352
timer.sw_force.Start();
353+
LAGHOS_CALI_MARK_BEGIN("SolveVelocity-ForcePA");
347354
ForcePA->Mult(one, rhs);
348355
LAGHOS_DEVICE_SYNC;
356+
LAGHOS_CALI_MARK_END("SolveVelocity-ForcePA");
349357
timer.sw_force.Stop();
350358
rhs.Neg();
351359

@@ -376,8 +384,10 @@ void LagrangianHydroOperator::SolveVelocity(const Vector &S,
376384
VMassPA->EliminateRHS(B);
377385
LAGHOS_DEVICE_SYNC;
378386
timer.sw_cgH1.Start();
387+
LAGHOS_CALI_MARK_BEGIN("SolveVelocity-CGVMass");
379388
CG_VMass.Mult(B, X);
380389
LAGHOS_DEVICE_SYNC;
390+
LAGHOS_CALI_MARK_END("SolveVelocity-CGVMass");
381391
timer.sw_cgH1.Stop();
382392
timer.H1iter += CG_VMass.GetNumIterations();
383393
if (Pconf) { Pconf->Mult(X, dvc_gf); }
@@ -391,8 +401,10 @@ void LagrangianHydroOperator::SolveVelocity(const Vector &S,
391401
{
392402
LAGHOS_DEVICE_SYNC;
393403
timer.sw_force.Start();
404+
LAGHOS_CALI_MARK_BEGIN("SolveVelocity-Force");
394405
Force.Mult(one, rhs);
395406
LAGHOS_DEVICE_SYNC;
407+
LAGHOS_CALI_MARK_END("SolveVelocity-Force");
396408
timer.sw_force.Stop();
397409
rhs.Neg();
398410

@@ -417,8 +429,10 @@ void LagrangianHydroOperator::SolveVelocity(const Vector &S,
417429
cg.SetPrintLevel(-1);
418430
LAGHOS_DEVICE_SYNC;
419431
timer.sw_cgH1.Start();
432+
LAGHOS_CALI_MARK_BEGIN("SolveVelocity-CG");
420433
cg.Mult(B, X);
421434
LAGHOS_DEVICE_SYNC;
435+
LAGHOS_CALI_MARK_END("SolveVelocity-CG");
422436
timer.sw_cgH1.Stop();
423437
timer.H1iter += cg.GetNumIterations();
424438
Mv.RecoverFEMSolution(X, rhs, dv);
@@ -455,14 +469,18 @@ void LagrangianHydroOperator::SolveEnergy(const Vector &S, const Vector &v,
455469
{
456470
LAGHOS_DEVICE_SYNC;
457471
timer.sw_force.Start();
472+
LAGHOS_CALI_MARK_BEGIN("SolveEnergy-ForcePA");
458473
ForcePA->MultTranspose(v, e_rhs);
459474
LAGHOS_DEVICE_SYNC;
475+
LAGHOS_CALI_MARK_END("SolveEnergy-ForcePA");
460476
timer.sw_force.Stop();
461477
if (e_source) { e_rhs += *e_source; }
462478
LAGHOS_DEVICE_SYNC;
463479
timer.sw_cgL2.Start();
480+
LAGHOS_CALI_MARK_BEGIN("SolveEnergy-CGEMass");
464481
CG_EMass.Mult(e_rhs, de);
465482
LAGHOS_DEVICE_SYNC;
483+
LAGHOS_CALI_MARK_END("SolveEnergy-CGEMass");
466484
timer.sw_cgL2.Stop();
467485
const HYPRE_Int cg_num_iter = CG_EMass.GetNumIterations();
468486
timer.L2iter += (cg_num_iter==0) ? 1 : cg_num_iter;
@@ -474,8 +492,10 @@ void LagrangianHydroOperator::SolveEnergy(const Vector &S, const Vector &v,
474492
{
475493
LAGHOS_DEVICE_SYNC;
476494
timer.sw_force.Start();
495+
LAGHOS_CALI_MARK_BEGIN("SolveEnergy-Force");
477496
Force.MultTranspose(v, e_rhs);
478497
LAGHOS_DEVICE_SYNC;
498+
LAGHOS_CALI_MARK_END("SolveEnergy-Force");
479499
timer.sw_force.Stop();
480500
if (e_source) { e_rhs += *e_source; }
481501
Vector loc_rhs(l2dofs_cnt), loc_de(l2dofs_cnt);
@@ -485,8 +505,10 @@ void LagrangianHydroOperator::SolveEnergy(const Vector &S, const Vector &v,
485505
e_rhs.GetSubVector(l2dofs, loc_rhs);
486506
LAGHOS_DEVICE_SYNC;
487507
timer.sw_cgL2.Start();
508+
LAGHOS_CALI_MARK_BEGIN("SolveEnergy-MeInv");
488509
Me_inv(e).Mult(loc_rhs, loc_de);
489510
LAGHOS_DEVICE_SYNC;
511+
LAGHOS_CALI_MARK_END("SolveEnergy-MeInv");
490512
timer.sw_cgL2.Stop();
491513
timer.L2iter += 1;
492514
de.SetSubVector(l2dofs, loc_de);
@@ -794,6 +816,7 @@ void LagrangianHydroOperator::UpdateQuadratureData(const Vector &S) const
794816
// This code is only for the 1D/FA mode
795817
LAGHOS_DEVICE_SYNC;
796818
timer.sw_qdata.Start();
819+
LAGHOS_CALI_MARK_BEGIN("LagrangianHydroOperator-UpdateQuadratureData");
797820
const int nqp = ir.GetNPoints();
798821
ParGridFunction x, v, e;
799822
Vector* sptr = const_cast<Vector*>(&S);
@@ -956,6 +979,7 @@ void LagrangianHydroOperator::UpdateQuadratureData(const Vector &S) const
956979
delete [] cs_b;
957980
delete [] Jpr_b;
958981
LAGHOS_DEVICE_SYNC;
982+
LAGHOS_CALI_MARK_END("LagrangianHydroOperator-UpdateQuadratureData");
959983
timer.sw_qdata.Stop();
960984
timer.quad_tstep += NE;
961985
}
@@ -1331,6 +1355,7 @@ void QUpdate::UpdateQuadratureData(const Vector &S, QuadratureData &qdata)
13311355
{
13321356
LAGHOS_DEVICE_SYNC;
13331357
timer->sw_qdata.Start();
1358+
LAGHOS_CALI_MARK_BEGIN("QUpdate-UpdateQuadratureData");
13341359
Vector* S_p = const_cast<Vector*>(&S);
13351360
const int H1_size = H1.GetVSize();
13361361
const double h1order = (double) H1.GetOrder(0);
@@ -1380,6 +1405,7 @@ void QUpdate::UpdateQuadratureData(const Vector &S, QuadratureData &qdata)
13801405
qdata.Jac0inv, q_dt_est, qdata.stressJinvT);
13811406
qdata.dt_est = q_dt_est.Min();
13821407
LAGHOS_DEVICE_SYNC;
1408+
LAGHOS_CALI_MARK_END("QUpdate-UpdateQuadratureData");
13831409
timer->sw_qdata.Stop();
13841410
timer->quad_tstep += NE;
13851411
}
@@ -1390,8 +1416,10 @@ void LagrangianHydroOperator::AssembleForceMatrix() const
13901416
Force = 0.0;
13911417
LAGHOS_DEVICE_SYNC;
13921418
timer.sw_force.Start();
1419+
LAGHOS_CALI_MARK_BEGIN("LagrangianHydroOperator-AssembleForceMatrix");
13931420
Force.Assemble();
13941421
LAGHOS_DEVICE_SYNC;
1422+
LAGHOS_CALI_MARK_END("LagrangianHydroOperator-AssembleForceMatrix");
13951423
timer.sw_force.Stop();
13961424
forcemat_is_assembled = true;
13971425
}

0 commit comments

Comments
 (0)