Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/dolfinx/v0.9.0/cpp/doxygen/db/d41/timing_8h_source.html
DOLFINx  0.5.1
DOLFINx C++ interface
timing.h
1 // Copyright (C) 2005-2010 Anders Logg, 2015 Jan Blechta
2 //
3 // This file is part of DOLFINx (https://www.fenicsproject.org)
4 //
5 // SPDX-License-Identifier: LGPL-3.0-or-later
6 
7 #pragma once
8 
9 #include <dolfinx/common/Table.h>
10 #include <mpi.h>
11 #include <set>
12 #include <string>
13 #include <tuple>
14 
15 namespace dolfinx
16 {
17 
22 enum class TimingType : std::int32_t
23 {
24  wall = 0,
25  user = 1,
26  system = 2
27 };
28 
33 Table timings(std::set<TimingType> type);
34 
41 void list_timings(MPI_Comm comm, std::set<TimingType> type,
42  Table::Reduction reduction = Table::Reduction::max);
43 
49 std::tuple<std::size_t, double, double, double> timing(std::string task);
50 
51 } // namespace dolfinx
Reduction
Types of MPI reduction available for Table, to get the max, min or average values over an MPI_Comm.
Definition: Table.h:33