Tenncor
|
#include <session.hpp>
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... | |
![]() | |
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< SessReqsT > | requirements_ |
Private Attributes | |
size_t | nthreads_ |
OpWeightT | weights_ |
std::unordered_set< teq::iOperableFunc * > | ops_ |
Session that updates operable functors concurrently across specified a number of jobs
|
inline |
Apply input optimization rules using opt module, then re-track.
|
inlineoverridevirtual |
Implementation of iSession.
Implements eteq::iSession.
|
inlineoverridevirtual |
Implementation of iSession.
Implements eteq::iSession.
|
inlineoverridevirtual |
Implementation of iSession.
Implements eteq::iSession.
|
private |
|
private |
std::unordered_map<teq::iTensor*, std::unordered_set<teq::iOperableFunc*> > ccur::Session::parents_ |
Map of tensor to the set of the tensor's parents.
std::vector<SessReqsT> ccur::Session::requirements_ |
Vector of vectors of operable functors specific to each job See SessReqsT
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
|
private |