Interface Documentation
Version: invalid
coloring.hh
Go to the documentation of this file.
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Los Alamos National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
18 #if !defined(__FLECSI_PRIVATE__)
19 #error Do not include this file directly!
20 #endif
21 
22 #include <map>
23 #include <vector>
24 
25 namespace flecsi {
26 namespace coloring {
27 
33 
38  struct shared_info_t {
39  size_t global_id;
40  size_t color;
41  size_t local_id;
42  std::vector<size_t> used_by_colors;
43  }; // struct shared_info_t
44 
49  struct ghost_info_t {
50  size_t global_id;
51  size_t owned_by_color;
52  }; // struct ghost_info_t
53 
59  std::vector<size_t> primary;
60 
65  std::vector<size_t> exclusive;
66 
71  std::vector<shared_info_t> shared;
72 
77  std::vector<ghost_info_t> ghost;
78 
79 }; // struct index_coloring_t
80 
86  size_t exclusive;
87  size_t shared;
88  size_t ghost;
89 
90  std::vector<size_t> used_by_colors;
91  std::vector<size_t> owned_by_colors;
92 }; // struct coloring_info_t
93 
100 using coloring_t = std::map<size_t, index_coloring_t>;
101 
108 using coloring_meta_t = std::map<std::pair<size_t, size_t>, coloring_info_t>;
109 
110 } // namespace coloring
111 } // namespace flecsi
std::vector< size_t > exclusive
Definition: coloring.hh:65
std::vector< shared_info_t > shared
Definition: coloring.hh:71
std::vector< size_t > primary
Definition: coloring.hh:59
std::vector< ghost_info_t > ghost
Definition: coloring.hh:77
Definition: coloring.hh:32
std::map< size_t, index_coloring_t > coloring_t
Definition: coloring.hh:100
std::map< std::pair< size_t, size_t >, coloring_info_t > coloring_meta_t
Definition: coloring.hh:108
Definition: coloring.hh:85
Definition: control.hh:31