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 
25 namespace Amesos2 {
26 
27 
28 struct 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  , totalTime_(*(Teuchos::TimeMonitor::getNewTimer("Total Time in Amesos2 interface")))
40  {}
41 
42  Teuchos::Time mtxRedistTime_;
43  Teuchos::Time mtxConvTime_;
44  Teuchos::Time vecRedistTime_;
45  Teuchos::Time vecConvTime_;
46  Teuchos::Time preOrderTime_;
47  Teuchos::Time symFactTime_;
48  Teuchos::Time numFactTime_;
49  Teuchos::Time solveTime_;
50  Teuchos::Time totalTime_;
51 };
52 
53 
54 } // end namespace Amesos2
55 
56 #endif // AMESOS2_TIMERS_HPP