▼Nflecsi | |
►Ndata | |
►Ndetail | |
►Cbuffers_base | This topology implements pipe-like communication in terms of our color-specific accessors by having one ghost index point for every edge in a directed communication graph |
►Cbuffer | The buffer type stores the data array to be used for communication, along with a reader and writer type to read from and write to the data array |
Creader | An input stream for a buffer |
Cwriter | An output stream for a buffer |
►Nlaunch | |
Cmapping | A prepared assignment of colors |
►Nleg | |
Cpartition | Common dependent partitioning facility |
Caccessor | A data accessor |
Caccessor< dense, T, P > | Accessor for ordinary fields |
Caccessor< raw, DATA_TYPE, PRIVILEGES > | Accessor for potentially uninitialized memory |
Caccessor< single, DATA_TYPE, PRIVILEGES > | Accessor for a single value. This class is supported for GPU execution |
►Caccessor< sparse, T, P > | Accessor for sparse fields |
Crow | A mapping backed by a row. Use the ragged interface to iterate |
Cbackend_storage | Backend specific data storage |
Cbind_tag | Task parameters of types that inherit from bind_tag must be specially initialized by the backend after the task has been launched |
Cborrow | A selection of rows, typically of a data::prefixes object |
►Cbuffers | The buffers type provides an interface for dynamic amounts of data |
Cragged | Utility to transfer the contents of ragged rows via buffers |
Ccoloring_slot | A mpi_coloring object, constructed on request |
Ccopy_engine | Performs a specified copy operation repeatedly |
Ccopy_plan | Specifies a pattern of data movement among colors in an index space |
Cfield_info_t | The field_info_t type provides a structure for capturing runtime field information |
Cfield_reference | Identifies a field on a particular topology instance |
Cintervals | A subset of each row in a region_base, expressed as a set of intervals |
Cmulti | A sequence of accessors obtained from a launch::mapping |
Cmulti_reference | Identifies a field on a launch::mapping |
Cmutator | A specialized accessor for changing the extent of dynamic layouts |
Cmutator< particle, T, P > | Mutator for particle fields |
►Cmutator< ragged, T, P > | Mutator for ragged fields |
Crow | A row handle |
►Cmutator< sparse, T, P > | Mutator for sparse fields |
►Crow | A row handle |
Citerator | Bidirectional iterator over key-value pairs |
Cparticle_accessor | Accessor for particle fields |
Cpartition | Base class storing a prefix of each row in a region_base |
Cprefixes | A prefix of each row in a region_base |
Cragged_accessor | Accessor for ragged fields |
Creduction_accessor | Accessor for computing reductions |
Cregion_base | A rectangular abstract array |
Crows | All of each row in a region_base |
Csend_tag | Classes that inherit from send_tag can decompose themselves into simpler parameters via a send member function template |
Ctopology_accessor | Topology accessor type |
Ctopology_slot | A movable slot that holds a topology, constructed upon request |
►Ndetail | |
Cdata_guard | An RAII type to manage the global coloring and topologies. Appears directly in flecsi |
►Nexec | |
►Nfold | |
Cmax | Maximum reduction type |
Cmin | Minimum reduction type |
Cproduct | Product reduction type |
Creduce | An example reduction type that is not really implemented |
Csum | Sum reduction type |
►Nleg | |
Ctask_wrapper | The task_wrapper type provides execution functions for user and MPI tasks |
Cagent | A node-local context for potentially parallel operations |
Cbind_accessors | Handling for low-level special task parameters/arguments |
Cblocks | Parallel operations with thread configuration |
Ccpu | Single-core execution space |
Cexecutor | Parallel operations given a name for debugging or profiling |
Cexecutor_base | Executor derivation |
Cfull_range | This class computes full range size if prefix or subinterval of the range is not specified |
Cgpu | GPU execution space |
Claunch_domain | An explicit launch domain size |
Comp | OpenMP execution space |
Cpartial | A simple version of C++20's bind_front |
Cprefix_range | This class computes the range based on the prefix specified |
Cprolog | Analyzes task arguments and updates data objects before launching a task |
Cspace | Execution space operations |
►Cspace_base | An execution space |
Ctasks | Information about an index launch |
Csub_range | This class computes subinterval of a range based on the starting and ending indices provided |
Ctask_prologue | Handling for low-level special task parameters/arguments |
►Ctrace | Records execution of a loop whose iterations all execute the same sequence of tasks |
Cguard | RAII guard for executing a trace |
►Nflog | |
Cconfig | Specification for Flog operation |
Cguard | Scope guard for categorizing output |
Cmessage | The message type provides a basic log message type that is customized with a formatting policy |
Cstate | The state type provides access to logging parameters and configuration |
Ctag | A tag for labeling output to enable |
►Ctee_buffer_t | The tee_buffer_t type provides a stream buffer that allows output to multiple targets |
Cbuffer_data_t | The buffer_data_t type is used to hold state and the actual low-level stream buffer pointer |
Ctee_stream_t | The tee_stream_t type provides a stream class that writes to multiple output buffers |
►Nrun | |
Cconfig | Backend-specific options |
Cconfig_base | Specification of options for FleCSI |
Ccontext | The context type provides a high-level execution context interface that is implemented by a specific backend |
►Ccontrol | The control type provides a control model for specifying a set of control points as a coarse-grained control flow graph, with each node of the graph specifying a set of actions as a directed acyclic graph (DAG) |
Caction | The action type provides a mechanism to add execution elements to the FleCSI control model |
►Ccontrol_base | Base class for providing default implementations for optional interfaces |
Cexception | Exception class for control points |
►Ccontrol_policy | An example control policy that is not really implemented |
Cnode_policy | Base class for control point objects |
Cdependencies_config | Specification for initializing underlying libraries |
Cdependencies_guard | RAII guard for initializing/finalizing FleCSI dependencies |
Cmpi_mapper_t | FleCSI's mapper, named for its support for rank-matching for MPI tasks |
►Nrun_impl | |
Ccycle | Allow users to define cyclic control points |
Cpoint_walker | The point_walker class allows execution of statically-defined control points |
►Ntopo | |
►Ndetail | |
Cbase< core > | Each core topology type must register its base type |
►Nnarray_impl | |
Caxis | Information about the layout of an entire axis |
Caxis_color | High-level information about one axis of one color |
Caxis_definition | This type is part of the index definition, and defines the coloring of an individal axis |
Caxis_info | Collected information about one color along one axis. This class is supported for GPU execution |
Caxis_layout | The layout of one axis of one color |
Cindex_definition | This type is part of the coloring, and encapsulates the coloring information for a single index space (such as how many colors per axis the mesh needs to be partitioned into, if boundaries are periodic, etc), that is used by the coloring algorithm to create mesh partitions |
►Nunstructured_impl | |
Cindex_color | Information specific to a single index space and color |
Cpeer_entities | Communication pattern for a single pair of colors |
Cborrow | Specialization for borrowing |
Cborrow_base | Specialization-independent definitions |
Cborrow_extra | Topology-specific extension to support multi-color topology accessors |
Ccore_base | An example topology base that is not really implemented |
Cglobal | Unpartitioned topology whose fields are readable by all colors |
Chcell_base_t | Base type for an entry in the hashtable This type can point to either a node or an entity in the ntree |
Chelp | Convenience base class for specialization class templates |
Cindex | The index type allows users to register data on an arbitrarily-sized set of indices that have an implicit one-to-one coloring |
►Cnarray_base | Specialization-independent definitions |
Ccoloring | Coloring type |
►Cnarray_specialization | Example specialization which is not really implemented |
Cmeta_data | Specialization-specific data to store once per color |
►Cntree_base | Ntree topology base |
Ccoloring | Ntree coloring |
►Cntree_specialization | Example specialization which is not really implemented |
Centity_data | Struct containing data for entities to compute interactions |
Cnode_data | Struct containing data for nodes to compute interactions |
Crepartition | A partition with a field for dynamically resizing it |
►Cresize | A subtopology for storing/updating row sizes of a partition |
Cpolicy | A heuristic for automatically resizing a partition |
Cset_specialization | Example specialization which is not really implemented |
►Cspecialization | CRTP base for specializations |
Cmpi_coloring | Constructs a coloring in an MPI task |
Cspecialization_base | Utilities and defaults for specializations |
Ctopology< P, borrow_base > | A selection from an underlying topology |
►Ctopology< P, core_base > | An example core topology that is not really implemented |
Caccess | Default-constructible base for topology accessors |
Ctopology< P, user_base > | The User topology is a bare-bones topology supporting a single index space whose size can vary by color |
►Ctopology< Policy, narray_base > | Narray Topology |
Caccess | Topology interface base |
Cragged_impl | Ragged communication routines |
►Ctopology< Policy, ntree_base > | The ntree topology represents a binary, quad or octree stored/accessed using a hashtable |
Caccess | See specialization_base::interface |
Ctopology< Policy, set_base > | This struct is a Set topology interface |
Ctopology< Policy, unstructured_base > | Topology type |
►Cunstructured_base | Specialization-independent definitions |
►Ccoloring | Information for constructing an unstructured mesh |
Cindex_space | Coloring information for a single index space |
Cunstructured_specialization | Example specialization which is not really implemented |
Cwith_size | Size information for a partition |
►Nutil | |
►Nannotation | |
Ccontext | Base for annotation contexts |
Cguard | Scope guard for marking a code region |
Cregion | Base for code region annotations |
Crguard | Scope guard for marking a code region |
►Ndetail | |
Cmdbase | A multi-dimensional view of an array |
►Nserial | |
Ccast | Aggregate helper that converts to any type via get |
Cconvert | Defines a serialization in terms of a representation type |
Ctraits | Extension point for serialization |
Cvalue | Convenience for stateless types |
CBBox | The bounding box type that is used by KDTree as input |
Ccounter | A counter with a maximum |
Ccrs | Efficient (compressed-row) storage for a sequence of sequences of integers |
Cdag | Basic DAG type |
Cdimensioned_array | The dimensioned_array type provides a general base for defining contiguous array types that have a specific dimension |
Cequal_map | A partition with substrings of equal size |
Cfilling_curve_key | Space filling curve keys generator, CRTP base |
Cgraphviz | Class for creating Graphviz trees |
Chilbert_key | Point on a Hilbert-Peano space filling curve |
Cidentity | Interpret a type as itself in functional contexts |
Cinplace_vector | A small implementation of std::inplace_vector as proposed for C++26 |
Ciota_view | A very simple emulation of std::ranges::iota_view from C++20 |
CKDTree | A k-d tree for efficiently finding intersections between shapes |
Ckey_tuple | A std::tuple containing the given types and indexed by the given keys |
Cmap_base | A partition of some prefix of the whole numbers into substrings |
Cmdcolex | A variation of mdspan with reversed indices (distinguished by () ) |
Cmdspan | A small, approximate subset of mdspan from C++23 |
Cmorton_key | Point on a Morton space filling curve |
Cmy_key | Example implementation of filling curve derived from the filling_curve_key CRTP |
Coffsets | A partition with substrings of arbitrary size |
Cqueue | A simple queue implementation based on a std::array This class is supported for GPU execution |
Csort | Sort object implementing a distributed sort and load balancing |
Cspan | A workalike for std::span from C++20 (only dynamic-extent, without ranges support) |
Csubstring_view | A view of part of a range |
CSymbol | Dummy class template |
Ctransform_view | A very simple emulation of std::ranges::transform_view from C++20 |
►Cfield | Helper type to define and access fields |
Cdefinition | A field registration |
Cfuture | Single or multiple future |
Cfuture< Return > | Single-valued future |
Cfuture< Return, exec::launch_type_t::index > | Multi-valued future from an index launch |
Cgetopt | Command-line parser |
Cprogram_option | The program_option type is a wrapper that implements a useful subset of Boost's Program Options utility |
Cruntime | FleCSI runtime state |
Cscheduler | Launches tasks according to their execution-space (template) parameters |
Ctask_local | A global variable with a task-specific value |
Ctopology | A topology instance |