FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
Data Model

Defining topology instances and fields. More...

Modules

 Launch maps
 Selecting topology colors to send to tasks.
 

Classes

struct  accessor< L, T, Priv >
 A data accessor. More...
 
struct  accessor< dense, T, P >
 Accessor for ordinary fields. More...
 
struct  accessor< raw, DATA_TYPE, PRIVILEGES >
 Accessor for potentially uninitialized memory. More...
 
struct  accessor< single, DATA_TYPE, PRIVILEGES >
 Accessor for a single value. This class is supported for GPU execution. More...
 
struct  accessor< sparse, T, P >
 Accessor for sparse fields. More...
 
struct  coloring_slot< Topo >
 A mpi_coloring object, constructed on request. More...
 
struct  field< T, L >
 Helper type to define and access fields. More...
 
struct  field_reference< T, L, Topo, Space >
 Identifies a field on a particular topology instance. More...
 
struct  multi< A >
 A sequence of accessors obtained from a launch::mapping. More...
 
struct  multi_reference< T, L, Topo, S >
 Identifies a field on a launch::mapping. More...
 
struct  mutator< layout, class, Privileges >
 A specialized accessor for changing the extent of dynamic layouts. More...
 
struct  mutator< particle, T, P >
 Mutator for particle fields. More...
 
struct  mutator< ragged, T, P >
 Mutator for ragged fields. More...
 
struct  mutator< sparse, T, P >
 Mutator for sparse fields. More...
 
struct  particle_accessor< T, P, M >
 Accessor for particle fields. More...
 
struct  ragged_accessor< T, P, OP >
 Accessor for ragged fields. More...
 
struct  reduction_accessor< R, T >
 Accessor for computing reductions. More...
 
struct  topology_accessor< T, Priv >
 Topology accessor type. More...
 
struct  topology_slot< Topo >
 A movable slot that holds a topology, constructed upon request. More...
 

Enumerations

enum  layout : size_t {
  raw , single , dense , ragged ,
  sparse , particle
}
 A type of logical data structure. More...
 
enum  partition_privilege_t : Privileges { na , ro , wo , rw }
 Access privileges for data passed to FleCSI tasks. More...
 

Variables

topo::global::slot global_topology
 Default global topology instance with size 1.
 
topo::index::slot process_topology
 Topology instance with one color per process.
 

Detailed Description

Defining topology instances and fields.

#include "flecsi/data.hh"

The inclusion of flecsi/topology.hh by this header is deprecated.

Enumeration Type Documentation

◆ layout

enum layout : size_t

A type of logical data structure.

The interface for each is provided by an accessor.

Enumerator
raw 

Uninitialized memory with no objects constructed or destroyed.

single 

Access to the single element of an array.

dense 

Ordinary array of objects.

ragged 

Array of resizable arrays of objects.

sparse 

Array of mappings from integers to objects.

particle 

Unordered elements are added/removed up to a maximum number.

◆ partition_privilege_t

enum partition_privilege_t : Privileges

Access privileges for data passed to FleCSI tasks.

Each field must be initialized with wo privileges (perhaps combined with na). Any use of such privileges produces default-initialized values.

Ghost data is updated only when read access to it is requested. Writes to shared data are never propagated to ghost data for which the same task has write access, as it is assumed to have updated them.

Enumerator
na 

no access: defer consistency update

ro 

read-only

wo 

write-only: consistency updates discarded

rw 

read-write

Variable Documentation

◆ global_topology

topo::global::slot global_topology

Default global topology instance with size 1.

Deprecated:
Create instances as with any other topology.

◆ process_topology

topo::index::slot process_topology

Topology instance with one color per process.

Warning
The values are not bound to processes except with MPI tasks.
Deprecated:
Create instances as with any other topology.