Generic topology categories and tools for specializing them. More...
Topics | |
| Simple data | |
| Simple parallel data access. | |
| Predefined specializations | |
| Specializations for topologies so simple that no others are needed. | |
| Multi-dimensional Array | |
| Configurable multi-dimensional array topology. | |
| N-dimensional Tree | |
| Binary, Quad and Oct Tree topology. | |
| Particle Set | |
| Supports non-interacting particle methods. | |
| Unstructured Mesh | |
| Configurable unstructured mesh interface. | |
Classes | |
| struct | base< core > |
| Each core topology type must register its base type. More... | |
| struct | borrow< Q > |
| Specialization for borrowing. More... | |
| struct | borrow_base |
| Specialization-independent definitions. More... | |
| struct | borrow_extra< T > |
| Topology-specific extension to support multi-color topology accessors. More... | |
| struct | core_base |
| An example topology base that is not really implemented. More... | |
| struct | help |
| Convenience base class for specialization class templates. More... | |
| struct | id< S, T > |
| A "strong typedef" with affine arithmetic. More... | |
| struct | repartition |
| A partition with a field for dynamically resizing it. More... | |
| struct | resize |
| A subtopology for storing/updating row sizes of a partition. More... | |
| struct | specialization< C, D > |
| CRTP base for specializations. More... | |
| struct | specialization_base |
| Utilities and defaults for specializations. More... | |
| struct | topology< P, borrow_base > |
| A selection from an underlying topology. More... | |
| struct | topology< P, core_base > |
| An example core topology that is not really implemented. More... | |
| struct | topology< P, user_base > |
| The User topology is a bare-bones topology supporting a single index space whose size can vary by color. More... | |
| struct | with_size |
| Size information for a partition. More... | |
Typedefs | |
| template<class P> | |
| using | core |
Each category must provide an alias template for specialization. | |
Enumerations | |
| enum | single_space { elements } |
| The default, trivial index-space type used by specializations. More... | |
Functions | |
| template<auto S, class C> | |
| auto | make_ids (C &&c) |
Specify an iteration over id objects. | |
Generic topology categories and tools for specializing them.
Contents are in flecsi::topo unless otherwise specified.
This header provides the features in the following additional deprecated header:
toc task, certain metadata provided by topology accessors is host-accessible, which means that if the topology accessor is read-only it can be accessed within or outside of a kernel in the task. (The metadata might be used with another accessor that is not read-only.)| using core |
Each category must provide an alias template for specialization.
| enum single_space |
| auto make_ids | ( | C && | c | ) |
Specify an iteration over id objects.
This function is supported for GPU execution
| S | index space |
| c | range of integers |
id<S> objects