BlackCat_Tensors
A GPU-supported autograd and linear algebra library, designed for neural network construction
Static Public Member Functions | Static Public Attributes | List of all members
bc::tensors::exprs::optimizer_default< T > Struct Template Reference

#include <tree_evaluator_optimizer.h>

Inheritance diagram for bc::tensors::exprs::optimizer_default< T >:
Inheritance graph
[legend]

Static Public Member Functions

template<class OutputData , class Stream >
static auto linear_eval (T branch, OutputData, Stream)
 
template<class OutputData , class Stream >
static auto injection (T branch, OutputData, Stream)
 
template<class Stream >
static auto temporary_injection (T branch, Stream)
 
template<class Stream >
static void deallocate_temporaries (T, Stream)
 

Static Public Attributes

static constexpr bool entirely_blas_expr = false
 entirely_blas_expr if we may replace this branch entirely with a temporary/cache expression is +/- ops and BLAS functions Example -> w*x + y*z More...
 
static constexpr bool partial_blas_expr = false
 
static constexpr bool requires_greedy_eval = false
 

Member Function Documentation

◆ deallocate_temporaries()

template<class T>
template<class Stream >
static void bc::tensors::exprs::optimizer_default< T >::deallocate_temporaries ( ,
Stream   
)
inlinestatic

◆ injection()

template<class T>
template<class OutputData , class Stream >
static auto bc::tensors::exprs::optimizer_default< T >::injection ( branch,
OutputData  ,
Stream   
)
inlinestatic

◆ linear_eval()

template<class T>
template<class OutputData , class Stream >
static auto bc::tensors::exprs::optimizer_default< T >::linear_eval ( branch,
OutputData  ,
Stream   
)
inlinestatic

◆ temporary_injection()

template<class T>
template<class Stream >
static auto bc::tensors::exprs::optimizer_default< T >::temporary_injection ( branch,
Stream   
)
inlinestatic

Member Data Documentation

◆ entirely_blas_expr

template<class T>
constexpr bool bc::tensors::exprs::optimizer_default< T >::entirely_blas_expr = false
static

entirely_blas_expr if we may replace this branch entirely with a temporary/cache expression is +/- ops and BLAS functions Example -> w*x + y*z

partial_blas_expr if part of this branch contains a replaceable branch nested inside it expression is +/- ops and BLAS functions OR simple cwisefunctions Example -> w + x*y

requires_greedy_eval does any non-lazy functions exist in the expression

◆ partial_blas_expr

template<class T>
constexpr bool bc::tensors::exprs::optimizer_default< T >::partial_blas_expr = false
static

◆ requires_greedy_eval

template<class T>
constexpr bool bc::tensors::exprs::optimizer_default< T >::requires_greedy_eval = false
static

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