Open3D (C++ API)  0.18.0
Data Structures | Enumerations | Functions | Variables
open3d::core::kernel Namespace Reference

Data Structures

class  CPUReductionEngine
 
class  CPUArgReductionEngine
 

Enumerations

enum class  BinaryEWOpCode {
  Add , Sub , Mul , Div ,
  Maximum , Minimum , LogicalAnd , LogicalOr ,
  LogicalXor , Gt , Lt , Ge ,
  Le , Eq , Ne
}
 
enum class  ReductionOpCode {
  Sum , Prod , Min , Max ,
  ArgMin , ArgMax , All , Any
}
 
enum class  UnaryEWOpCode {
  Sqrt , Sin , Cos , Neg ,
  Exp , Abs , IsNan , IsInf ,
  IsFinite , Floor , Ceil , Round ,
  Trunc , LogicalNot
}
 

Functions

Tensor Arange (const Tensor &start, const Tensor &stop, const Tensor &step)
 
void ArangeCPU (const Tensor &start, const Tensor &stop, const Tensor &step, Tensor &dst)
 
void BinaryEW (const Tensor &lhs, const Tensor &rhs, Tensor &dst, BinaryEWOpCode op_code)
 
void BinaryEWCPU (const Tensor &lhs, const Tensor &rhs, Tensor &dst, BinaryEWOpCode op_code)
 
void IndexGet (const Tensor &src, Tensor &dst, const std::vector< Tensor > &index_tensors, const SizeVector &indexed_shape, const SizeVector &indexed_strides)
 
void IndexSet (const Tensor &src, Tensor &dst, const std::vector< Tensor > &index_tensors, const SizeVector &indexed_shape, const SizeVector &indexed_strides)
 
void IndexGetCPU (const Tensor &src, Tensor &dst, const std::vector< Tensor > &index_tensors, const SizeVector &indexed_shape, const SizeVector &indexed_strides)
 
void IndexSetCPU (const Tensor &src, Tensor &dst, const std::vector< Tensor > &index_tensors, const SizeVector &indexed_shape, const SizeVector &indexed_strides)
 
void IndexAdd_ (int64_t dim, const Tensor &index, const Tensor &src, Tensor &dst)
 
void IndexAddCPU_ (int64_t dim, const Tensor &index, const Tensor &src, Tensor &dst)
 
template<typename func_t >
void LaunchIndexReductionKernel (int64_t dim, const Device &device, const Tensor &index, const Tensor &src, Tensor &dst, const func_t &element_kernel)
 
void TestLinalgIntegration ()
 
Tensor NonZero (const Tensor &src)
 
Tensor NonZeroCPU (const Tensor &src)
 
void Reduction (const Tensor &src, Tensor &dst, const SizeVector &dims, bool keepdim, ReductionOpCode op_code)
 
void ReductionCPU (const Tensor &src, Tensor &dst, const SizeVector &dims, bool keepdim, ReductionOpCode op_code)
 
void UnaryEW (const Tensor &src, Tensor &dst, UnaryEWOpCode op_code)
 
void Copy (const Tensor &src, Tensor &dst)
 
void UnaryEWCPU (const Tensor &src, Tensor &dst, UnaryEWOpCode op_code)
 
void CopyCPU (const Tensor &src, Tensor &dst)
 

Variables

const std::unordered_set< BinaryEWOpCode, utility::hash_enum_classs_boolean_binary_ew_op_codes
 

Enumeration Type Documentation

◆ BinaryEWOpCode

Enumerator
Add 
Sub 
Mul 
Div 
Maximum 
Minimum 
LogicalAnd 
LogicalOr 
LogicalXor 
Gt 
Lt 
Ge 
Le 
Eq 
Ne 

◆ ReductionOpCode

Enumerator
Sum 
Prod 
Min 
Max 
ArgMin 
ArgMax 
All 
Any 

◆ UnaryEWOpCode

Enumerator
Sqrt 
Sin 
Cos 
Neg 
Exp 
Abs 
IsNan 
IsInf 
IsFinite 
Floor 
Ceil 
Round 
Trunc 
LogicalNot 

Function Documentation

◆ Arange()

Tensor open3d::core::kernel::Arange ( const Tensor start,
const Tensor stop,
const Tensor step 
)

◆ ArangeCPU()

void open3d::core::kernel::ArangeCPU ( const Tensor start,
const Tensor stop,
const Tensor step,
Tensor dst 
)

◆ BinaryEW()

void open3d::core::kernel::BinaryEW ( const Tensor lhs,
const Tensor rhs,
Tensor dst,
BinaryEWOpCode  op_code 
)

◆ BinaryEWCPU()

void open3d::core::kernel::BinaryEWCPU ( const Tensor lhs,
const Tensor rhs,
Tensor dst,
BinaryEWOpCode  op_code 
)

◆ Copy()

void open3d::core::kernel::Copy ( const Tensor src,
Tensor dst 
)

◆ CopyCPU()

void open3d::core::kernel::CopyCPU ( const Tensor src,
Tensor dst 
)

◆ IndexAdd_()

void open3d::core::kernel::IndexAdd_ ( int64_t  dim,
const Tensor index,
const Tensor src,
Tensor dst 
)

◆ IndexAddCPU_()

void open3d::core::kernel::IndexAddCPU_ ( int64_t  dim,
const Tensor index,
const Tensor src,
Tensor dst 
)

◆ IndexGet()

void open3d::core::kernel::IndexGet ( const Tensor src,
Tensor dst,
const std::vector< Tensor > &  index_tensors,
const SizeVector indexed_shape,
const SizeVector indexed_strides 
)

◆ IndexGetCPU()

void open3d::core::kernel::IndexGetCPU ( const Tensor src,
Tensor dst,
const std::vector< Tensor > &  index_tensors,
const SizeVector indexed_shape,
const SizeVector indexed_strides 
)

◆ IndexSet()

void open3d::core::kernel::IndexSet ( const Tensor src,
Tensor dst,
const std::vector< Tensor > &  index_tensors,
const SizeVector indexed_shape,
const SizeVector indexed_strides 
)

◆ IndexSetCPU()

void open3d::core::kernel::IndexSetCPU ( const Tensor src,
Tensor dst,
const std::vector< Tensor > &  index_tensors,
const SizeVector indexed_shape,
const SizeVector indexed_strides 
)

◆ LaunchIndexReductionKernel()

template<typename func_t >
void open3d::core::kernel::LaunchIndexReductionKernel ( int64_t  dim,
const Device device,
const Tensor index,
const Tensor src,
Tensor dst,
const func_t &  element_kernel 
)

◆ NonZero()

Tensor open3d::core::kernel::NonZero ( const Tensor src)

◆ NonZeroCPU()

Tensor open3d::core::kernel::NonZeroCPU ( const Tensor src)

◆ Reduction()

void open3d::core::kernel::Reduction ( const Tensor src,
Tensor dst,
const SizeVector dims,
bool  keepdim,
ReductionOpCode  op_code 
)

◆ ReductionCPU()

void open3d::core::kernel::ReductionCPU ( const Tensor src,
Tensor dst,
const SizeVector dims,
bool  keepdim,
ReductionOpCode  op_code 
)

◆ TestLinalgIntegration()

void open3d::core::kernel::TestLinalgIntegration ( )

◆ UnaryEW()

void open3d::core::kernel::UnaryEW ( const Tensor src,
Tensor dst,
UnaryEWOpCode  op_code 
)

◆ UnaryEWCPU()

void open3d::core::kernel::UnaryEWCPU ( const Tensor src,
Tensor dst,
UnaryEWOpCode  op_code 
)

Variable Documentation

◆ s_boolean_binary_ew_op_codes

const std::unordered_set< BinaryEWOpCode, utility::hash_enum_class > open3d::core::kernel::s_boolean_binary_ew_op_codes
Initial value:
{
BinaryEWOpCode::LogicalAnd, BinaryEWOpCode::LogicalOr,
BinaryEWOpCode::LogicalXor, BinaryEWOpCode::Gt,
BinaryEWOpCode::Lt, BinaryEWOpCode::Ge,
BinaryEWOpCode::Le, BinaryEWOpCode::Eq,
BinaryEWOpCode::Ne,
}