Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
profiler.h
1 //
2 // Created by milinda on 10/20/17.
8 //
9 
10 #ifndef SFCSORTBENCH_DENDRO_PROFILER_H
11 #define SFCSORTBENCH_DENDRO_PROFILER_H
12 
13 #include "mpi.h"
14 #include <iostream>
15 #include <iomanip>
16 #include <fstream>
17 #include "dendro.h"
18 #ifdef HAVE_PAPI
19 #include <papi.h>
20 #endif
21 
22 #include <omp.h>
23 
25 {
26  public:
27  profiler_t ();
28  virtual ~profiler_t ();
29 
30  void start();
31  void stop();
32  void clear();
33  void snapreset();
34 
35  public:
36  long double seconds; // openmp wall time
37  long long p_flpops; // papi floating point operations
38  long double snap; // snap shot of the cumilative time.
39  long long num_calls; // number of times the timer stop function called.
40 
41  private:
42  void flops_papi();
43 
44  protected:
45  long double _pri_seconds; // openmp wall time
46  long long _pri_p_flpops; // papi floating point operations
47 
48 };
49 
50 
51 
52 
53 
54 
55 
56 
57 #endif //SFCSORTBENCH_DENDRO_PROFILER_H
simple profiler based on Hari&#39;s sort_profiler for bssn application.
Definition: profiler.h:24
profiler_t()
simple profiler based on Hari&#39;s sort_profiler for bssn application.
Definition: profiler.cpp:11