Tenncor
|
Classes | |
struct | Session |
Typedefs | |
using | PartGroupsT = std::vector< std::vector< teq::iFunctor * > > |
Groups of functors. More... | |
using | OpWeightT = std::unordered_map< size_t, double > |
Map functor opcode to the operation's weight value. More... | |
using | SessReqsT = std::vector< std::pair< teq::iOperableFunc *, size_t > > |
using | LSessReqsT = std::list< std::pair< teq::iOperableFunc *, size_t > > |
Same as SessReqsT except as a list. More... | |
using | AtomicFulfilMapT = std::unordered_map< teq::iOperableFunc *, std::atomic< long > > |
Functions | |
PartGroupsT | k_partition (teq::TensptrsT roots, size_t k, OpWeightT weights=OpWeightT()) |
Return k groups of graphs under roots given some weight. More... | |
session.hpp ccur
Purpose: Implement session that runs functor updates concurrently
using ccur::AtomicFulfilMapT = typedef std::unordered_map< teq::iOperableFunc*,std::atomic<long> > |
Map operable functors to the number of children updated in any update/update_target call
using ccur::LSessReqsT = typedef std::list<std::pair<teq::iOperableFunc*,size_t> > |
Same as SessReqsT except as a list.
using ccur::OpWeightT = typedef std::unordered_map<size_t,double> |
Map functor opcode to the operation's weight value.
using ccur::PartGroupsT = typedef std::vector<std::vector<teq::iFunctor*> > |
Groups of functors.
using ccur::SessReqsT = typedef std::vector<std::pair<teq::iOperableFunc*,size_t> > |
Vector of operable functors and number of unique non-leaf children Functors are ordered by dependency, such that parents of any node always appears after the node in this vector
PartGroupsT ccur::k_partition | ( | teq::TensptrsT | roots, |
size_t | k, | ||
OpWeightT | weights = OpWeightT() |
||
) |
Return k groups of graphs under roots given some weight.