Amesos2 - Direct Sparse Solver Interfaces Version of the Day
Amesos2_Timers.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Amesos2: Templated Direct Sparse Solver Package
4//
5// Copyright 2011 NTESS and the Amesos2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
19#ifndef AMESOS2_TIMERS_HPP
20#define AMESOS2_TIMERS_HPP
21
22#include <Teuchos_TimeMonitor.hpp>
23#include <Teuchos_Hashtable.hpp>
24
25namespace Amesos2 {
26
27
28struct Timers {
29
30 Timers()
31 : mtxRedistTime_(*(Teuchos::TimeMonitor::getNewTimer("Time to redistribute data structures")))
32 , mtxConvTime_(*(Teuchos::TimeMonitor::getNewTimer("Time to convert matrix to solver format")))
33 , vecRedistTime_(*(Teuchos::TimeMonitor::getNewTimer("Time to redistribute vectors")))
34 , vecConvTime_(*(Teuchos::TimeMonitor::getNewTimer("Time to convert vectors to solver format")))
35 , preOrderTime_(*(Teuchos::TimeMonitor::getNewTimer("Time for matrix pre-order")))
36 , symFactTime_(*(Teuchos::TimeMonitor::getNewTimer("Time for symbolic factorization")))
37 , numFactTime_(*(Teuchos::TimeMonitor::getNewTimer("Time for numeric factorization")))
38 , solveTime_(*(Teuchos::TimeMonitor::getNewTimer("Time for solve")))
39 , coreSymFactTime_(*(Teuchos::TimeMonitor::getNewTimer("SolverCore::symbolicFactorization")))
40 , coreNumFactTime_(*(Teuchos::TimeMonitor::getNewTimer("SolverCore::numericFactorization")))
41 , coreSolveTime_(*(Teuchos::TimeMonitor::getNewTimer("SolverCore::solve")))
42 , totalTime_(*(Teuchos::TimeMonitor::getNewTimer("Total Time in Amesos2 interface")))
43 {}
44
45 Teuchos::Time mtxRedistTime_;
46 Teuchos::Time mtxConvTime_;
47 Teuchos::Time vecRedistTime_;
48 Teuchos::Time vecConvTime_;
49 Teuchos::Time preOrderTime_;
50 Teuchos::Time symFactTime_;
51 Teuchos::Time numFactTime_;
52 Teuchos::Time solveTime_;
53 Teuchos::Time coreSymFactTime_;
54 Teuchos::Time coreNumFactTime_;
55 Teuchos::Time coreSolveTime_;
56 Teuchos::Time totalTime_;
57};
58
59
60} // end namespace Amesos2
61
62#endif // AMESOS2_TIMERS_HPP