|
FreeTensor
|
#include <derivative.h>
Public Member Functions | |
| void | addPartial (const Load &x, const LazyPartialDerivative &partial) |
| void | setError (const std::exception_ptr &error) |
| bool | usingStore () |
| const std::unordered_set< std::string > & | reads () |
| std::vector< Stmt > | genGrads (const std::unordered_map< ID, std::string > &intermediatesMap, const std::unordered_map< StmtOrExprID, Expr > &versions, const std::unordered_map< std::string, std::string > &gradNames, const Expr &gradY) |
Lazy full derivative dy/dx_i for all x_i that continuously infuences y
Notes on non-differential cases:
| void freetensor::Derivative::LazyFullDerivative::addPartial | ( | const Load & | x, |
| const LazyPartialDerivative & | partial | ||
| ) |
| std::vector< Stmt > freetensor::Derivative::LazyFullDerivative::genGrads | ( | const std::unordered_map< ID, std::string > & | intermediatesMap, |
| const std::unordered_map< StmtOrExprID, Expr > & | versions, | ||
| const std::unordered_map< std::string, std::string > & | gradNames, | ||
| const Expr & | gradY | ||
| ) |
| const std::unordered_set< std::string > & freetensor::Derivative::LazyFullDerivative::reads | ( | ) |
|
inline |
| bool freetensor::Derivative::LazyFullDerivative::usingStore | ( | ) |