Interface Documentation
Version: invalid
types.hh
Go to the documentation of this file.
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Triad National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
18 #include <limits>
19 
20 #include <flecsi-config.h>
21 
22 /*----------------------------------------------------------------------------*
23  This section works with the build system to select the correct runtime
24  implemenation for the task model. If you add to the possible runtimes,
25  remember to edit config/packages.cmake to include a definition using
26  the same convention, e.g., -DFLECSI_RUNTIME_MODEL_new_runtime.
27  *----------------------------------------------------------------------------*/
28 
29 #if FLECSI_RUNTIME_MODEL == FLECSI_RUNTIME_MODEL_legion
30 
31 #include <legion.h>
32 
33 namespace flecsi {
34 
35 using field_id_t = Legion::FieldID;
36 const field_id_t FIELD_ID_MAX = LEGION_MAX_APPLICATION_FIELD_ID;
37 
38 using task_id_t = Legion::TaskID;
39 const task_id_t TASK_ID_MAX = LEGION_MAX_APPLICATION_TASK_ID;
40 
41 } // namespace flecsi
42 
43 #elif FLECSI_RUNTIME_MODEL == FLECSI_RUNTIME_MODEL_mpi
44 
45 #include <cstddef>
46 #include <limits>
47 
48 namespace flecsi {
49 
50 using field_id_t = size_t;
51 const field_id_t FIELD_ID_MAX = std::numeric_limits<size_t>::max();
52 
53 using task_id_t = size_t;
54 const task_id_t TASK_ID_MAX = std::numeric_limits<size_t>::max();
55 
56 } // namespace flecsi
57 
58 #elif FLECSI_RUNTIME_MODEL == FLECSI_RUNTIME_MODEL_hpx
59 
60 namespace flecsi {
61 
62 #include <cstddef>
63 #include <limits>
64 
65 using field_id_t = size_t;
66 const field_id_t FIELD_ID_MAX = std::numeric_limits<size_t>::max();
67 
68 using task_id_t = size_t;
69 const task_id_t TASK_ID_MAX = std::numeric_limits<size_t>::max();
70 
71 } // namespace flecsi
72 
73 #endif // FLECSI_RUNTIME_MODEL
74 
75 #include "flecsi/util/common.hh"
76 
77 namespace flecsi {
78 
83 struct fid_counter_t {};
84 using unique_fid_t =
86 
91 struct isid_counter_t {};
92 using unique_isid_t =
94 
95 } // namespace flecsi
Definition: types.hh:91
Definition: types.hh:83
Definition: common.hh:104
Definition: control.hh:31