MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
annotation.hpp
Go to the documentation of this file.
1// Copyright (c) 2010-2025, Lawrence Livermore National Security, LLC. Produced
2// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3// LICENSE and NOTICE for details. LLNL-CODE-806117.
4//
5// This file is part of the MFEM library. For more information and source code
6// availability visit https://mfem.org.
7//
8// MFEM is free software; you can redistribute it and/or modify it under the
9// terms of the BSD-3 license. We welcome feedback and contributions, see file
10// CONTRIBUTING.md for details.
11
12#ifndef MFEM_ANNOTATION_HPP
13#define MFEM_ANNOTATION_HPP
14
15#include "../config/config.hpp"
16
17#ifdef MFEM_USE_CALIPER
18
19#include <caliper/cali.h>
20#include <caliper/cali-manager.h>
21#define MFEM_PERF_FUNCTION CALI_CXX_MARK_FUNCTION
22#define MFEM_PERF_BEGIN(s) CALI_MARK_BEGIN(s)
23#define MFEM_PERF_END(s) CALI_MARK_END(s)
24#define MFEM_PERF_SCOPE(name) CALI_CXX_MARK_SCOPE(std::string(name).c_str())
25
26#else
27
28#define MFEM_PERF_FUNCTION
29#define MFEM_PERF_BEGIN(s)
30#define MFEM_PERF_END(s)
31#define MFEM_PERF_SCOPE(name)
32
33#endif // MFEM_USE_CALIPER
34
35#endif // MFEM_ANNOTATION_HPP