|
FreeTensor
|
#include <for_property.h>


Public Member Functions | |
| void | compHash () override |
Public Member Functions inherited from freetensor::ASTPart | |
| virtual | ~ASTPart () |
| ASTPart (ASTPart &&other) | |
| ASTPart (const ASTPart &other) | |
| ASTPart & | operator= (ASTPart &&) |
| ASTPart & | operator= (const ASTPart &) |
| bool | trySetParent (const Ref< ASTPart > &parent) |
| void | resetParent () |
| Ref< ASTPart > | parent () const |
| bool | isSubTree () const |
| int | depth () const |
| virtual void | modifiedHook () |
| size_t | hash () |
| virtual bool | isAST () const |
Public Member Functions inherited from freetensor::EnableSelf< ASTPart > | |
| Ref< ASTPart > | self () const |
Public Attributes | |
| ReduceOp | op_ |
| std::string | var_ |
| SubTreeList< ExprNode > | begins_ = ChildOf{this} |
| SubTreeList< ExprNode > | ends_ = ChildOf{this} |
| bool | syncFlush_ |
| [begins_, ends_) | |
Additional Inherited Members | |
Public Types inherited from freetensor::EnableSelf< ASTPart > | |
| typedef ASTPart | Self |
Protected Member Functions inherited from freetensor::ASTPart | |
| void | lock () |
| void | unlock () |
| virtual void | compHash ()=0 |
| void | resetHash () |
Protected Attributes inherited from freetensor::ASTPart | |
| size_t | hash_ = ~0ull |
| std::atomic_flag | lock_ = ATOMIC_FLAG_INIT |
|
overridevirtual |
Use synced (atomic) reduce to flush to the final destination after parallel reduction. Used when we are reducing over multiple parallel scopes, where some of them are loop-carried reductions and others are random reductions
Implements freetensor::ASTPart.
| SubTreeList<ExprNode> freetensor::ReductionItem::begins_ = ChildOf{this} |
| SubTreeList<ExprNode> freetensor::ReductionItem::ends_ = ChildOf{this} |
| ReduceOp freetensor::ReductionItem::op_ |
| bool freetensor::ReductionItem::syncFlush_ |
[begins_, ends_)
| std::string freetensor::ReductionItem::var_ |