MFEM
v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
general
annotation.hpp
Go to the documentation of this file.
1
// Copyright (c) 2010-2024, 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) \
25
cali::Annotation::Guard cali_autogenerated_guard_name(cali::Annotation("function").begin(std::string(name).c_str()))
26
27
28
#else
29
30
#define MFEM_PERF_FUNCTION
31
#define MFEM_PERF_BEGIN(s)
32
#define MFEM_PERF_END(s)
33
#define MFEM_PERF_SCOPE(name)
34
35
#endif
36
37
#endif
config.hpp
1.11.0