Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_BlockHelper_Timers.hpp
1// @HEADER
2// *****************************************************************************
3// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4//
5// Copyright 2009 NTESS and the Ifpack2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef IFPACK2_BLOCKHELPER_TIMERS_HPP
11#define IFPACK2_BLOCKHELPER_TIMERS_HPP
12
13namespace Ifpack2 {
14
15namespace BlockHelperDetails {
16
17#if defined(HAVE_IFPACK2_BLOCKTRIDICONTAINER_TIMERS)
18#define IFPACK2_BLOCKHELPER_TIMER(label, varname) TEUCHOS_FUNC_TIME_MONITOR_DIFF(label, varname);
19#define IFPACK2_BLOCKHELPER_TIMER_FENCE(execution_space) execution_space().fence();
20#define IFPACK2_BLOCKHELPER_TIMER_DEFAULT_FENCE() Kokkos::DefaultExecutionSpace().fence();
21#else
22#define IFPACK2_BLOCKHELPER_TIMER(label, varname)
23#define IFPACK2_BLOCKHELPER_TIMER_FENCE(execution_space)
24#define IFPACK2_BLOCKHELPER_TIMER_DEFAULT_FENCE()
25#endif
26
27#define IFPACK2_BLOCKHELPER_TIMER_WITH_FENCE(label, varname, execution_space) \
28 IFPACK2_BLOCKHELPER_TIMER_FENCE(execution_space) \
29 IFPACK2_BLOCKHELPER_TIMER(label, varname)
30
31} // namespace BlockHelperDetails
32
33} // namespace Ifpack2
34
35#endif
Preconditioners and smoothers for Tpetra sparse matrices.
Definition Ifpack2_AdditiveSchwarz_decl.hpp:40