FreeTensor
Loading...
Searching...
No Matches
Classes | Namespaces
grad.h File Reference
#include <unordered_map>
#include <unordered_set>
#include <analyze/symbol_table.h>
#include <autograd/derivative.h>
#include <autograd/invert_stmts.h>
#include <autograd/replace_by_saved.h>
#include <autograd/tape_strategy.h>
#include <autograd/user_grad.h>
#include <func.h>
#include <mutator.h>
#include <visitor.h>
Include dependency graph for grad.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  freetensor::InsertUserGrad
 
class  freetensor::RenewIDs< BaseClass >
 
class  freetensor::Grad
 

Namespaces

namespace  freetensor
 

Functions

std::tuple< Stmt, Stmt, std::unordered_map< std::string, std::string >, std::unordered_map< std::string, std::string >, std::unordered_map< ID, std::string > > freetensor::gradBody (const Stmt &op, const std::unordered_set< std::string > &_requires, const std::unordered_set< std::string > &provides, const TapeStrategy &tapes, bool resetProvidedGrad=true, bool invert=false, const std::vector< StmtSetToUserGrad > &userGrads={})
 
std::tuple< Func, Func, std::unordered_map< std::string, std::string >, std::unordered_map< std::string, std::string > > freetensor::gradFuncInplace (const Func &func, const std::unordered_set< std::string > &_requires, const std::unordered_set< std::string > &provides, const TapeStrategy &tapes, bool tapeInClosure=true, bool resetProvidedGrad=true, bool invert=false, const std::vector< StmtSetToUserGrad > &userGrads={})
 
std::tuple< Func, Func, std::unordered_map< std::string, std::string >, std::unordered_map< std::string, std::string > > freetensor::gradFuncOutOfPlace (const Func &func, const std::unordered_set< std::string > &_requires, const std::unordered_set< std::string > &provides, const TapeStrategy &tapes, bool tapeInClosure=true, bool resetProvidedGrad=true, bool invert=false, const std::vector< StmtSetToUserGrad > &userGrads={})