|
enum | partition_privilege_t : size_t { nu = 0b00,
ro = 0b01,
wo = 0b10,
rw = 0b11
} |
|
enum | task_attributes_mask_t : size_t {
leaf = 0x01,
inner = 0x02,
idempotent = 0x04,
loc = 0x08,
toc = 0x10,
mpi = 0x20
} |
|
enum | option_attribute : size_t { option_default,
option_implicit,
option_zero,
option_multi
} |
|
enum | partition_t : size_t { exclusive = 0b001,
shared = 0b010,
ghost = 0b100,
owned = 0b011
} |
|
|
constexpr size_t | privilege_count (std::size_t PACK) |
|
constexpr partition_privilege_t | get_privilege (std::size_t i, std::size_t pack) |
|
constexpr bool | privilege_write (std::size_t pack) noexcept |
|
constexpr exec::launch_domain | single (1) |
|
template<auto & F, const exec::launch_domain & LAUNCH_DOMAIN, class REDUCTION , size_t ATTRIBUTES, typename... ARGS> |
decltype(auto) | reduce (ARGS &&... args) |
|
log::devel_tag | reduction_wrapper_tag ("reduction_wrapper") |
|
int | initialize (int argc, char **argv, bool dependent=true) |
|
int | start (const std::function< int()> &action) |
|
void | finalize () |
|
template<typename ValueType > |
ValueType | option_value (any const &v) |
|
std::string const & | program () |
|
size_t | process () |
|
size_t | processes () |
|
size_t | threads_per_process () |
|
size_t | threads () |
|
size_t | color () |
|
size_t | colors () |
|
template<auto & TASK, const exec::launch_domain & LAUNCH_DOMAIN = index, size_t ATTRIBUTES = flecsi::loc | flecsi::leaf, typename... ARGS> |
decltype(auto) | execute (ARGS &&... args) |
|
template<auto & TASK, const exec::launch_domain & LAUNCH_DOMAIN = flecsi::index, size_t ATTRIBUTES = flecsi::loc | flecsi::leaf, typename... ARGS> |
int | test (ARGS &&... args) |
|
template<size_t D, typename T , class DER > |
std::ostream & | operator<< (std::ostream &ostr, const filling_curve< D, T, DER > &k) |
| output for filling_curve using output_ function defined in the class
|
|
|
log::devel_tag | control_tag ("control") |
|
program_option< bool > | control_model_option ("FleCSI Options", "control-model", "Output a dot file of the control model. This can be processed into a pdf " "using the dot command, like:\33[0;36m$ dot -Tpdf input.dot > " "output.pdf\3[0m", {{flecsi::option_implicit, true}, {flecsi::option_zero}}) |
|
program_option< bool > | control_model_sorted_option ("FleCSI Options", "control-model-sorted", "Output a dot file of the sorted control model actions.", {{flecsi::option_implicit, true}, {flecsi::option_zero}}) |
|
constexpr short | privilege_bits = 2 |
|
template<partition_privilege_t... PP> |
constexpr size_t | privilege_pack |
|
topo::global::slot | global_topology |
|
topo::index::cslot | process_coloring |
|
topo::index::slot | process_topology |
|
constexpr exec::launch_domain | index |
|
log::devel_tag | bind_accessors_tag ("bind_accessors") |
|
log::devel_tag | execution_tag ("execution") |
|
log::devel_tag | reduction_wrapper_tag ("reduction_wrapper") |
|
log::devel_tag | task_prologue_tag ("task_prologue") |
|
log::devel_tag | task_wrapper_tag ("task_wrapper") |
|
log::devel_tag | unbind_accessors_tag ("unbind_accessors") |
|
log::devel_tag | io_tag ("io") |
|
log::devel_tag | context_tag ("context") |
|
log::devel_tag | legion_mapper_tag ("legion_mapper") |
|
const field_id_t | FIELD_ID_MAX = LEGION_MAX_APPLICATION_FIELD_ID |
|
const task_id_t | TASK_ID_MAX = LEGION_MAX_APPLICATION_TASK_ID |
|
log::devel_tag | dcrs_utils_tag ("dcrs_utils") |
|
log::devel_tag | unit_tag ("unit") |
|
template<auto & TASK, const exec::launch_domain & LAUNCH_DOMAIN = flecsi::index, size_t ATTRIBUTES = flecsi::loc | flecsi::leaf, typename... ARGS>
int flecsi::test |
( |
ARGS &&... |
args | ) |
|
Execute a test task. This interface is provided for FleCSI's unit testing framework. Test tasks must return an integer that is non-zero on failure, and zero otherwise.
- Template Parameters
-
TASK | The user task. Its parameters may be of any default-constructible, trivially-move-assignable, non-pointer type, any type that supports the Legion return-value serialization interface, or any of several standard containers of such types. If ATTRIBUTES specifies an MPI task, parameters need merely be movable. |
LAUNCH_DOMAIN | The launch domain object. |
ATTRIBUTES | The task attributes mask. |
ARGS | The user-specified task arguments, implicitly converted to the parameter types for TASK. |
- Returns
- zero on success, non-zero on failure.
template<partition_privilege_t... PP>
constexpr size_t flecsi::privilege_pack |
|
inline |
Initial value:= [] {
static_assert(((PP < 1 << privilege_bits) && ...));
std::size_t ret = 1;
((ret <<= privilege_bits, ret |= PP), ...);
return ret;
}()
Utility to allow general privilege components that will match the old style of specifying permissions, e.g., <EX, SH, GH> (The old approach was only valid for mesh type topologies, and didn't make sense for all topology types).
- Template Parameters
-