RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
stats.hpp
Go to the documentation of this file.
1 
11 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
12 // Copyright (c) Lawrence Livermore National Security, LLC and other
13 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
14 // files for dates and other details. No copyright assignment is required
15 // to contribute to RAJA.
16 //
17 // SPDX-License-Identifier: (BSD-3-Clause)
18 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
19 
20 
21 // Place the following line before including RAJA to enable
22 // statistics on the Vector abstractions
23 // #define RAJA_ENABLE_VECTOR_STATS
24 
25 
26 #ifndef RAJA_pattern_simd_register_stats_HPP
27 #define RAJA_pattern_simd_register_stats_HPP
28 
29 #include "RAJA/config.hpp"
30 #include "camp/camp.hpp"
31 
32 namespace RAJA
33 {
34 namespace expt
35 {
37 {
38  static int indent;
39 
40  static camp::idx_t num_vector_copy;
41  static camp::idx_t num_vector_copy_ctor;
42  static camp::idx_t num_vector_broadcast_ctor;
43 
44  static camp::idx_t num_vector_load_packed;
45  static camp::idx_t num_vector_load_packed_n;
46  static camp::idx_t num_vector_load_strided;
47  static camp::idx_t num_vector_load_strided_n;
48 
49  static camp::idx_t num_vector_store_packed;
50  static camp::idx_t num_vector_store_packed_n;
51  static camp::idx_t num_vector_store_strided;
52  static camp::idx_t num_vector_store_strided_n;
53 
54  static camp::idx_t num_vector_broadcast;
55 
56  static camp::idx_t num_vector_get;
57  static camp::idx_t num_vector_set;
58 
59  static camp::idx_t num_vector_add;
60  static camp::idx_t num_vector_subtract;
61  static camp::idx_t num_vector_multiply;
62  static camp::idx_t num_vector_divide;
63 
64  static camp::idx_t num_vector_fma;
65  static camp::idx_t num_vector_fms;
66 
67  static camp::idx_t num_vector_sum;
68  static camp::idx_t num_vector_max;
69  static camp::idx_t num_vector_min;
70  static camp::idx_t num_vector_vmax;
71  static camp::idx_t num_vector_vmin;
72  static camp::idx_t num_vector_dot;
73 
74 
75  static camp::idx_t num_matrix_mm_mult_row_row;
76  static camp::idx_t num_matrix_mm_multacc_row_row;
77  static camp::idx_t num_matrix_mm_mult_col_col;
78  static camp::idx_t num_matrix_mm_multacc_col_col;
79 
80  static void resetVectorStats();
81  static void printVectorStats();
82 };
83 
84 } // namespace expt
85 } // namespace RAJA
86 
87 #endif
Definition: AlignedRangeIndexSetBuilders.cpp:35
Definition: stats.hpp:37
static void resetVectorStats()
Definition: TensorStats.cpp:54
static camp::idx_t num_matrix_mm_multacc_row_row
Definition: stats.hpp:76
static camp::idx_t num_vector_multiply
Definition: stats.hpp:61
static camp::idx_t num_matrix_mm_mult_row_row
Definition: stats.hpp:75
static camp::idx_t num_vector_divide
Definition: stats.hpp:62
static camp::idx_t num_vector_max
Definition: stats.hpp:68
static camp::idx_t num_vector_copy
Definition: stats.hpp:40
static camp::idx_t num_vector_min
Definition: stats.hpp:69
static camp::idx_t num_vector_load_packed
Definition: stats.hpp:44
static camp::idx_t num_vector_load_strided
Definition: stats.hpp:46
static camp::idx_t num_vector_subtract
Definition: stats.hpp:60
static int indent
Definition: stats.hpp:38
static camp::idx_t num_vector_vmax
Definition: stats.hpp:70
static camp::idx_t num_vector_copy_ctor
Definition: stats.hpp:41
static camp::idx_t num_vector_fms
Definition: stats.hpp:65
static camp::idx_t num_vector_get
Definition: stats.hpp:56
static camp::idx_t num_vector_dot
Definition: stats.hpp:72
static camp::idx_t num_vector_broadcast
Definition: stats.hpp:54
static camp::idx_t num_vector_fma
Definition: stats.hpp:64
static camp::idx_t num_matrix_mm_mult_col_col
Definition: stats.hpp:77
static camp::idx_t num_vector_store_strided_n
Definition: stats.hpp:52
static camp::idx_t num_vector_add
Definition: stats.hpp:59
static camp::idx_t num_vector_broadcast_ctor
Definition: stats.hpp:42
static camp::idx_t num_vector_sum
Definition: stats.hpp:67
static camp::idx_t num_vector_store_strided
Definition: stats.hpp:51
static camp::idx_t num_vector_set
Definition: stats.hpp:57
static camp::idx_t num_vector_load_strided_n
Definition: stats.hpp:47
static camp::idx_t num_vector_store_packed_n
Definition: stats.hpp:50
static camp::idx_t num_matrix_mm_multacc_col_col
Definition: stats.hpp:78
static camp::idx_t num_vector_store_packed
Definition: stats.hpp:49
static camp::idx_t num_vector_load_packed_n
Definition: stats.hpp:45
static void printVectorStats()
Definition: TensorStats.cpp:100
static camp::idx_t num_vector_vmin
Definition: stats.hpp:71