namespace
mapping
Classes
-
template<typename IdxT>struct BaseMapper
- The base class for a general mapper object group used for mapping elements of a collection to a node.
-
template<typename IdxT>struct UnboundedDefaultMap
- The default mapper for an unbounded dynamic collection.
Typedefs
-
template<typename IndexT>using MapAdapter = PhysicalResourceType(IndexT*, IndexT*, PhysicalResourceType)
-
template<typename F, F* f>using FunctorAdapt = ::vt::
auto_registry:: FunctorAdapter<F, f> -
template<typename F, F* f, typename IndexT>using MapFunctorAdapt = ::vt::
auto_registry:: FunctorAdapter<F, f, IndexT> -
template<typename Index>using IdxPtr = Index*
-
template<typename T = IdxBase>using Idx1DPtr = IdxType1D<T>*
-
template<typename T = IdxBase>using Idx2DPtr = IdxType2D<T>*
-
template<typename T = IdxBase>using Idx3DPtr = IdxType3D<T>*
-
template<typename T, int8_t N>using IdxNDPtr = IdxType<T, N>*
-
template<typename T = IdxBase>using i1D = IdxType1D<T>
-
template<typename T = IdxBase>using i2D = IdxType2D<T>
-
template<typename T = IdxBase>using i3D = IdxType3D<T>
-
template<typename T, int8_t N>using iND = IdxType<T, N>
-
template<typename F, F* f, typename IndexT>using Adapt = MapFunctorAdapt<F, f, IndexT>
-
template<typename T = IdxBase>using dense1DMapFn = Adapt<MapAdapter<i1D<T>>, defaultDenseIndex1DMap<T>, i1D<T>>
-
template<typename T = IdxBase>using dense2DMapFn = Adapt<MapAdapter<i2D<T>>, defaultDenseIndex2DMap<T>, i2D<T>>
-
template<typename T = IdxBase>using dense3DMapFn = Adapt<MapAdapter<i3D<T>>, defaultDenseIndex3DMap<T>, i3D<T>>
-
template<typename T, int8_t N>using denseNDMapFn = Adapt<MapAdapter<iND<T, N>>, defaultDenseIndexNDMap<T>, iND<T, N>>
-
template<typename T = IdxBase>using dense1DRRMapFn = Adapt<MapAdapter<i1D<T>>, dense1DRoundRobinMap<T>, i1D<T>>
-
template<typename T = IdxBase>using dense2DRRMapFn = Adapt<MapAdapter<i2D<T>>, dense2DRoundRobinMap<T>, i2D<T>>
-
template<typename T = IdxBase>using dense3DRRMapFn = Adapt<MapAdapter<i3D<T>>, dense3DRoundRobinMap<T>, i3D<T>>
-
template<typename T, int8_t N>using denseNDRRMapFn = Adapt<MapAdapter<iND<T, N>>, denseNDRoundRobinMap<T>, iND<T, N>>
-
template<typename T = IdxBase>using dense1DBlkMapFn = Adapt<MapAdapter<i1D<T>>, dense1DBlockMap<T>, i1D<T>>
-
template<typename T = IdxBase>using dense2DBlkMapFn = Adapt<MapAdapter<i2D<T>>, dense2DBlockMap<T>, i2D<T>>
-
template<typename T = IdxBase>using dense3DBlkMapFn = Adapt<MapAdapter<i3D<T>>, dense3DBlockMap<T>, i3D<T>>
-
template<typename T, int8_t N>using denseNDBlkMapFn = Adapt<MapAdapter<iND<T, N>>, denseNDBlockMap<T>, iND<T, N>>
-
template<typename IndexType>using MapType = PhysicalResourceType(*)(IndexType*, PhysicalResourceType)
-
template<typename IndexType>using NodeMapType = MapType<IndexType>
-
template<typename IndexType>using CoreMapType = MapType<IndexType>
-
template<typename IndexType>using DenseMapType = PhysicalResourceType(*)(IndexType*, IndexType*, PhysicalResourceType)
-
template<typename IndexType>using DenseNodeMapType = DenseMapType<IndexType>
-
template<typename IndexType>using DenseCoreMapType = DenseMapType<IndexType>
- using SeedMapType = PhysicalResourceType(*)(SeedType, PhysicalResourceType)
- using NodeSeedMapType = SeedMapType
- using CoreSeedMapType = SeedMapType
-
template<typename IndexT>using ActiveMapTypedFnType = NodeType(IndexT*, IndexT*, NodeType)
-
using ActiveMapFnPtrType = NodeType(*)(index::
BaseIndex*, index:: BaseIndex*, NodeType) - using ActiveSeedMapFnType = NodeType(SeedType, NodeType)
- using ActiveSeedMapFnPtrType = ActiveSeedMapFnType*
- using CollectionMapFnType = ActiveMapFnPtrType
Functions
-
template<typename IndexElmType, typename PhysicalType>auto blockMapDenseFlatIndex(IndexElmType* flat_idx, IndexElmType* num_elems, PhysicalType num_resources) -> NodeType
-
template<typename Idx, index::NumDimensionsType ndim>auto linearizeDenseIndexColMajor(DenseIndex<Idx, ndim>* idx, DenseIndex<Idx, ndim>* max_idx) -> Idx
-
template<typename Idx, index::NumDimensionsType ndim>auto linearizeDenseIndexRowMajor(DenseIndex<Idx, ndim>* idx, DenseIndex<Idx, ndim>* max_idx) -> Idx
-
template<typename Idx, index::NumDimensionsType ndim>auto denseBlockMap(IdxPtr<Idx> idx, IdxPtr<Idx> max_idx, NodeType nnodes) -> NodeType
-
template<typename T = IdxBase>auto defaultDenseIndex1DMap(Idx1DPtr<T> idx, Idx1DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto defaultDenseIndex2DMap(Idx2DPtr<T> idx, Idx2DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto defaultDenseIndex3DMap(Idx3DPtr<T> idx, Idx3DPtr<T> max, NodeType n) -> NodeType
-
template<typename T, int8_t N>auto defaultDenseIndexNDMap(IdxNDPtr<T, N> idx, IdxNDPtr<T, N> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense1DRoundRobinMap(Idx1DPtr<T> idx, Idx1DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense2DRoundRobinMap(Idx2DPtr<T> idx, Idx2DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense3DRoundRobinMap(Idx3DPtr<T> idx, Idx3DPtr<T> max, NodeType n) -> NodeType
-
template<typename T, int8_t N>auto denseNDRoundRobinMap(IdxNDPtr<T, N> idx, IdxNDPtr<T, N> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense1DBlockMap(Idx1DPtr<T> idx, Idx1DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense2DBlockMap(Idx2DPtr<T> idx, Idx2DPtr<T> max, NodeType n) -> NodeType
-
template<typename T = IdxBase>auto dense3DBlockMap(Idx3DPtr<T> idx, Idx3DPtr<T> max, NodeType n) -> NodeType
-
template<typename T, int8_t N>auto denseNDBlockMap(IdxNDPtr<T, N> idx, IdxNDPtr<T, N> max, NodeType n) -> NodeType
-
template<typename T>auto dense1DRoundRobinMap(Idx1DPtr<T> idx, ] Idx1DPtr<T> max, NodeType nx) -> NodeType
- auto randomSeedMap(SeedType seed, PhysicalResourceType nres) -> PhysicalResourceType
- auto randomSeedMapCore(SeedType seed, CoreType ncores) -> CoreType
- auto randomSeedMapNode(SeedType seed, NodeType nnodes) -> NodeType
Typedef documentation
template<typename IndexT>
using vt:: mapping:: MapAdapter = PhysicalResourceType(IndexT*, IndexT*, PhysicalResourceType)
template<typename F, F* f>
using vt:: mapping:: FunctorAdapt = ::vt:: auto_registry:: FunctorAdapter<F, f>
template<typename F, F* f, typename IndexT>
using vt:: mapping:: MapFunctorAdapt = ::vt:: auto_registry:: FunctorAdapter<F, f, IndexT>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename Index>
using vt:: mapping:: IdxPtr = Index*
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: Idx1DPtr = IdxType1D<T>*
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: Idx2DPtr = IdxType2D<T>*
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: Idx3DPtr = IdxType3D<T>*
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
using vt:: mapping:: IdxNDPtr = IdxType<T, N>*
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: i1D = IdxType1D<T>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: i2D = IdxType2D<T>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: i3D = IdxType3D<T>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
using vt:: mapping:: iND = IdxType<T, N>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename F, F* f, typename IndexT>
using vt:: mapping:: Adapt = MapFunctorAdapt<F, f, IndexT>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense1DMapFn = Adapt<MapAdapter<i1D<T>>, defaultDenseIndex1DMap<T>, i1D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense2DMapFn = Adapt<MapAdapter<i2D<T>>, defaultDenseIndex2DMap<T>, i2D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense3DMapFn = Adapt<MapAdapter<i3D<T>>, defaultDenseIndex3DMap<T>, i3D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
using vt:: mapping:: denseNDMapFn = Adapt<MapAdapter<iND<T, N>>, defaultDenseIndexNDMap<T>, iND<T, N>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense1DRRMapFn = Adapt<MapAdapter<i1D<T>>, dense1DRoundRobinMap<T>, i1D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense2DRRMapFn = Adapt<MapAdapter<i2D<T>>, dense2DRoundRobinMap<T>, i2D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense3DRRMapFn = Adapt<MapAdapter<i3D<T>>, dense3DRoundRobinMap<T>, i3D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
using vt:: mapping:: denseNDRRMapFn = Adapt<MapAdapter<iND<T, N>>, denseNDRoundRobinMap<T>, iND<T, N>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense1DBlkMapFn = Adapt<MapAdapter<i1D<T>>, dense1DBlockMap<T>, i1D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense2DBlkMapFn = Adapt<MapAdapter<i2D<T>>, dense2DBlockMap<T>, i2D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
using vt:: mapping:: dense3DBlkMapFn = Adapt<MapAdapter<i3D<T>>, dense3DBlockMap<T>, i3D<T>>
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
using vt:: mapping:: denseNDBlkMapFn = Adapt<MapAdapter<iND<T, N>>, denseNDBlockMap<T>, iND<T, N>>
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: MapType = PhysicalResourceType(*)(IndexType*, PhysicalResourceType)
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: NodeMapType = MapType<IndexType>
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: CoreMapType = MapType<IndexType>
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: DenseMapType = PhysicalResourceType(*)(IndexType*, IndexType*, PhysicalResourceType)
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: DenseNodeMapType = DenseMapType<IndexType>
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexType>
using vt:: mapping:: DenseCoreMapType = DenseMapType<IndexType>
using vt:: mapping:: SeedMapType = PhysicalResourceType(*)(SeedType, PhysicalResourceType)
#include <src/vt/topos/mapping/mapping.h>
using vt:: mapping:: NodeSeedMapType = SeedMapType
#include <src/vt/topos/mapping/mapping.h>
using vt:: mapping:: CoreSeedMapType = SeedMapType
#include <src/vt/topos/mapping/mapping.h>
template<typename IndexT>
using vt:: mapping:: ActiveMapTypedFnType = NodeType(IndexT*, IndexT*, NodeType)
using vt:: mapping:: ActiveMapFnPtrType = NodeType(*)(index:: BaseIndex*, index:: BaseIndex*, NodeType)
using vt:: mapping:: ActiveSeedMapFnType = NodeType(SeedType, NodeType)
using vt:: mapping:: ActiveSeedMapFnPtrType = ActiveSeedMapFnType*
using vt:: mapping:: CollectionMapFnType = ActiveMapFnPtrType
Function documentation
#include <src/vt/topos/mapping/dense/dense.h>
template<typename IndexElmType, typename PhysicalType>
NodeType vt:: mapping:: blockMapDenseFlatIndex(IndexElmType* flat_idx,
IndexElmType* num_elems,
PhysicalType num_resources)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename Idx, index::NumDimensionsType ndim>
Idx vt:: mapping:: linearizeDenseIndexColMajor(DenseIndex<Idx, ndim>* idx,
DenseIndex<Idx, ndim>* max_idx)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename Idx, index::NumDimensionsType ndim>
Idx vt:: mapping:: linearizeDenseIndexRowMajor(DenseIndex<Idx, ndim>* idx,
DenseIndex<Idx, ndim>* max_idx)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename Idx, index::NumDimensionsType ndim>
NodeType vt:: mapping:: denseBlockMap(IdxPtr<Idx> idx,
IdxPtr<Idx> max_idx,
NodeType nnodes)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: defaultDenseIndex1DMap(Idx1DPtr<T> idx,
Idx1DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: defaultDenseIndex2DMap(Idx2DPtr<T> idx,
Idx2DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: defaultDenseIndex3DMap(Idx3DPtr<T> idx,
Idx3DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
NodeType vt:: mapping:: defaultDenseIndexNDMap(IdxNDPtr<T, N> idx,
IdxNDPtr<T, N> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense1DRoundRobinMap(Idx1DPtr<T> idx,
Idx1DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense2DRoundRobinMap(Idx2DPtr<T> idx,
Idx2DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense3DRoundRobinMap(Idx3DPtr<T> idx,
Idx3DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
NodeType vt:: mapping:: denseNDRoundRobinMap(IdxNDPtr<T, N> idx,
IdxNDPtr<T, N> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense1DBlockMap(Idx1DPtr<T> idx,
Idx1DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense2DBlockMap(Idx2DPtr<T> idx,
Idx2DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T = IdxBase>
NodeType vt:: mapping:: dense3DBlockMap(Idx3DPtr<T> idx,
Idx3DPtr<T> max,
NodeType n)
#include <src/vt/topos/mapping/dense/dense.h>
template<typename T, int8_t N>
NodeType vt:: mapping:: denseNDBlockMap(IdxNDPtr<T, N> idx,
IdxNDPtr<T, N> max,
NodeType n)
template<typename T>
NodeType vt:: mapping:: dense1DRoundRobinMap(Idx1DPtr<T> idx,
] Idx1DPtr<T> max,
NodeType nx)
PhysicalResourceType vt:: mapping:: randomSeedMap(SeedType seed,
PhysicalResourceType nres)
#include <src/vt/topos/mapping/seed/seed.cc>
CoreType vt:: mapping:: randomSeedMapCore(SeedType seed,
CoreType ncores)
#include <src/vt/topos/mapping/seed/seed.h>
NodeType vt:: mapping:: randomSeedMapNode(SeedType seed,
NodeType nnodes)
#include <src/vt/topos/mapping/seed/seed.h>