BlackCat_Tensors
A GPU-supported autograd and linear algebra library, designed for neural network construction
Namespaces | Classes | Typedefs | Variables
bc::oper Namespace Reference

Namespaces

 cmath_functions
 
 detail
 

Classes

struct  Add
 
struct  Add_Assign
 
struct  Alias_Add_Assign
 
struct  Alias_Assign
 
struct  Alias_Sub_Assign
 
struct  And
 
struct  Approx_Equal
 
struct  Assign
 
struct  assignment_operation
 
struct  basic_operation
 
struct  BLAS_Function
 
struct  Device_Atomic_Add
 
struct  Device_Atomic_Div
 
struct  Device_Atomic_Mul
 
struct  Device_Atomic_Sub
 
struct  Div
 
struct  Div_Assign
 
struct  dot
 
struct  Equal
 
struct  gemm
 
struct  gemv
 
struct  ger
 
struct  Greater
 
struct  Greater_Equal
 
struct  Host_Atomic_Add
 
struct  Host_Atomic_Div
 
struct  Host_Atomic_Mul
 
struct  Host_Atomic_Sub
 
struct  Lesser
 
struct  Lesser_Equal
 
struct  linear_assignment_operation
 
struct  linear_operation
 
struct  Max
 
struct  Min
 
struct  Mul
 
struct  Mul_Assign
 
struct  Negation
 
struct  operation_traits
 
struct  Or
 
struct  Scalar_Mul
 
struct  Sub
 
struct  Sub_Assign
 
struct  transpose
 
struct  Xor
 

Typedefs

template<class SystemTag >
using Atomic_Add = std::conditional_t< detail::is_host< SystemTag >, Host_Atomic_Add, Device_Atomic_Add >
 
template<class SystemTag >
using Atomic_Sub = std::conditional_t< detail::is_host< SystemTag >, Host_Atomic_Add, Device_Atomic_Sub >
 
template<class SystemTag >
using Atomic_Div = std::conditional_t< detail::is_host< SystemTag >, Host_Atomic_Add, Device_Atomic_Div >
 
template<class SystemTag >
using Atomic_Mul = std::conditional_t< detail::is_host< SystemTag >, Host_Atomic_Add, Device_Atomic_Mul >
 

Variables

bc::oper::Assign assign
 
bc::oper::Add_Assign add_assign
 
bc::oper::Sub_Assign sub_assign
 
bc::oper::Alias_Assign alias_assign
 
bc::oper::Alias_Add_Assign alias_add_assign
 
bc::oper::Alias_Sub_Assign alias_sub_assign
 
bc::oper::Mul_Assign mul_assign
 
bc::oper::Div_Assign div_assign
 
struct bc::oper::Scalar_Mul scalar_mul
 
bc::oper::Add add
 
struct bc::oper::Mul mul
 
bc::oper::Sub sub
 
struct bc::oper::Div div
 
struct bc::oper::Equal equal
 
struct bc::oper::Approx_Equal approx_equal
 
struct bc::oper::Greater greater
 
struct bc::oper::Lesser lesser
 
struct bc::oper::Greater_Equal greater_equal
 
struct bc::oper::Lesser_Equal lesser_equal
 
struct bc::oper::Max max
 
struct bc::oper::Min min
 
struct bc::oper::And and_
 
struct bc::oper::Or or_
 
struct bc::oper::Xor xor_
 
bc::oper::Host_Atomic_Add host_atomic_add
 
bc::oper::Host_Atomic_Mul host_atomic_mul
 
bc::oper::Host_Atomic_Sub host_atomic_sub
 
bc::oper::Host_Atomic_Div host_atomic_div
 
bc::oper::Device_Atomic_Add device_atomic_add
 
bc::oper::Device_Atomic_Mul device_atomic_mul
 
bc::oper::Device_Atomic_Sub device_atomic_sub
 
bc::oper::Device_Atomic_Div device_atomic_div
 
struct bc::oper::Negation negation
 

Typedef Documentation

◆ Atomic_Add

template<class SystemTag >
using bc::oper::Atomic_Add = typedef std::conditional_t<detail::is_host<SystemTag>, Host_Atomic_Add, Device_Atomic_Add>

◆ Atomic_Div

template<class SystemTag >
using bc::oper::Atomic_Div = typedef std::conditional_t<detail::is_host<SystemTag>, Host_Atomic_Add, Device_Atomic_Div>

◆ Atomic_Mul

template<class SystemTag >
using bc::oper::Atomic_Mul = typedef std::conditional_t<detail::is_host<SystemTag>, Host_Atomic_Add, Device_Atomic_Mul>

◆ Atomic_Sub

template<class SystemTag >
using bc::oper::Atomic_Sub = typedef std::conditional_t<detail::is_host<SystemTag>, Host_Atomic_Add, Device_Atomic_Sub>

Variable Documentation

◆ add

bc::oper::Add bc::oper::add

◆ add_assign

bc::oper::Add_Assign bc::oper::add_assign

◆ alias_add_assign

bc::oper::Alias_Add_Assign bc::oper::alias_add_assign

◆ alias_assign

bc::oper::Alias_Assign bc::oper::alias_assign

◆ alias_sub_assign

bc::oper::Alias_Sub_Assign bc::oper::alias_sub_assign

◆ and_

struct bc::oper::And bc::oper::and_

◆ approx_equal

struct bc::oper::Approx_Equal bc::oper::approx_equal

◆ assign

bc::oper::Assign bc::oper::assign

◆ device_atomic_add

bc::oper::Device_Atomic_Add bc::oper::device_atomic_add

◆ device_atomic_div

bc::oper::Device_Atomic_Div bc::oper::device_atomic_div

◆ device_atomic_mul

bc::oper::Device_Atomic_Mul bc::oper::device_atomic_mul

◆ device_atomic_sub

bc::oper::Device_Atomic_Sub bc::oper::device_atomic_sub

◆ div

struct bc::oper::Div bc::oper::div

◆ div_assign

bc::oper::Div_Assign bc::oper::div_assign

◆ equal

struct bc::oper::Equal bc::oper::equal

◆ greater

struct bc::oper::Greater bc::oper::greater

◆ greater_equal

struct bc::oper::Greater_Equal bc::oper::greater_equal

◆ host_atomic_add

bc::oper::Host_Atomic_Add bc::oper::host_atomic_add

◆ host_atomic_div

bc::oper::Host_Atomic_Div bc::oper::host_atomic_div

◆ host_atomic_mul

bc::oper::Host_Atomic_Mul bc::oper::host_atomic_mul

◆ host_atomic_sub

bc::oper::Host_Atomic_Sub bc::oper::host_atomic_sub

◆ lesser

struct bc::oper::Lesser bc::oper::lesser

◆ lesser_equal

struct bc::oper::Lesser_Equal bc::oper::lesser_equal

◆ max

struct bc::oper::Max bc::oper::max

◆ min

struct bc::oper::Min bc::oper::min

◆ mul

struct bc::oper::Mul bc::oper::mul

◆ mul_assign

bc::oper::Mul_Assign bc::oper::mul_assign

◆ negation

struct bc::oper::Negation bc::oper::negation

◆ or_

struct bc::oper::Or bc::oper::or_

◆ scalar_mul

struct bc::oper::Scalar_Mul bc::oper::scalar_mul

◆ sub

bc::oper::Sub bc::oper::sub

◆ sub_assign

bc::oper::Sub_Assign bc::oper::sub_assign

◆ xor_

struct bc::oper::Xor bc::oper::xor_