Tenncor
Public Member Functions | Public Attributes | Private Attributes | List of all members
ccur::Session Struct Referencefinal

#include <session.hpp>

Inheritance diagram for ccur::Session:
Inheritance graph
[legend]
Collaboration diagram for ccur::Session:
Collaboration graph
[legend]

Public Member Functions

 Session (size_t nthreads=2, OpWeightT weights=OpWeightT())
 
void track (teq::TensptrsT roots) override
 Implementation of iSession. More...
 
void update (teq::TensSetT ignored={}) override
 Implementation of iSession. More...
 
void update_target (teq::TensSetT target, teq::TensSetT ignored={}) override
 Implementation of iSession. More...
 
void optimize (const opt::OptCtx &rules)
 Apply input optimization rules using opt module, then re-track. More...
 
- Public Member Functions inherited from eteq::iSession
virtual ~iSession (void)=default
 

Public Attributes

teq::TensptrSetT tracked_
 
std::unordered_map< teq::iTensor *, std::unordered_set< teq::iOperableFunc * > > parents_
 Map of tensor to the set of the tensor's parents. More...
 
std::vector< SessReqsTrequirements_
 

Private Attributes

size_t nthreads_
 
OpWeightT weights_
 
std::unordered_set< teq::iOperableFunc * > ops_
 

Detailed Description

Session that updates operable functors concurrently across specified a number of jobs

Constructor & Destructor Documentation

◆ Session()

ccur::Session::Session ( size_t  nthreads = 2,
OpWeightT  weights = OpWeightT() 
)
inline

Member Function Documentation

◆ optimize()

void ccur::Session::optimize ( const opt::OptCtx rules)
inline

Apply input optimization rules using opt module, then re-track.

◆ track()

void ccur::Session::track ( teq::TensptrsT  roots)
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

◆ update()

void ccur::Session::update ( teq::TensSetT  ignored = {})
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

◆ update_target()

void ccur::Session::update_target ( teq::TensSetT  target,
teq::TensSetT  ignored = {} 
)
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

Member Data Documentation

◆ nthreads_

size_t ccur::Session::nthreads_
private

◆ ops_

std::unordered_set<teq::iOperableFunc*> ccur::Session::ops_
private

◆ parents_

std::unordered_map<teq::iTensor*, std::unordered_set<teq::iOperableFunc*> > ccur::Session::parents_

Map of tensor to the set of the tensor's parents.

◆ requirements_

std::vector<SessReqsT> ccur::Session::requirements_

Vector of vectors of operable functors specific to each job See SessReqsT

◆ tracked_

teq::TensptrSetT ccur::Session::tracked_

Set of all tensors input through tracked function The set of roots of all session graphs is a possible subset

◆ weights_

OpWeightT ccur::Session::weights_
private

The documentation for this struct was generated from the following file: