ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::core::kernel Namespace Reference

Classes

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 ArangeSYCL (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)
 
template<typename src_t , typename dst_t , typename element_func_t >
static void LaunchBinaryEWKernel (const Indexer &indexer, const element_func_t &element_func)
 
template<typename src_t , typename dst_t , typename element_func_t , typename vec_func_t >
static void LaunchBinaryEWKernel (const Indexer &indexer, const element_func_t &element_func, const vec_func_t &vec_func)
 
template<typename scalar_t >
static void CPUMaxElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename scalar_t >
static void CPUMinElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename scalar_t >
static void CPUAddElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename scalar_t >
static void CPUSubElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename scalar_t >
static void CPUMulElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename scalar_t >
static void CPUDivElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULogicalAndElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULogicalOrElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULogicalXorElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPUGtElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULtElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPUGeqElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULeqElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPUEqElementKernel (const void *lhs, const void *rhs, void *dst)
 
template<typename src_t , typename dst_t >
static void CPUNeqElementKernel (const void *lhs, const void *rhs, void *dst)
 
void BinaryEWSYCL (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)
 
template<typename func_t >
static void LaunchAdvancedIndexerKernel (const AdvancedIndexer &indexer, const func_t &func)
 
template<typename scalar_t >
static void CPUCopyElementKernel (const void *src, void *dst)
 
static void CPUCopyObjectElementKernel (const void *src, void *dst, int64_t object_byte_size)
 
void IndexGetSYCL (const Tensor &src, Tensor &dst, const std::vector< Tensor > &index_tensors, const SizeVector &indexed_shape, const SizeVector &indexed_strides)
 
void IndexSetSYCL (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)
 
template<typename scalar_t >
static CLOUDVIEWER_HOST_DEVICE void CPUSumKernel (const void *src, void *dst)
 
void IndexAddSYCL_ (int64_t dim, const Tensor &index, const Tensor &src, Tensor &dst)
 
void TestLinalgIntegration ()
 
Tensor NonZero (const Tensor &src)
 
Tensor NonZeroCPU (const Tensor &src)
 
Tensor NonZeroSYCL (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)
 
template<typename scalar_t >
static scalar_t CPUSumReductionKernel (scalar_t a, scalar_t b)
 
template<typename scalar_t >
static scalar_t CPUProdReductionKernel (scalar_t a, scalar_t b)
 
template<typename scalar_t >
static scalar_t CPUMinReductionKernel (scalar_t a, scalar_t b)
 
template<typename scalar_t >
static scalar_t CPUMaxReductionKernel (scalar_t a, scalar_t b)
 
static uint8_t CPUAllReductionKernel (uint8_t a, uint8_t b)
 
static uint8_t CPUAnyReductionKernel (uint8_t a, uint8_t b)
 
template<typename scalar_t >
static std::pair< int64_t, scalar_t > CPUArgMinReductionKernel (int64_t a_idx, scalar_t a, int64_t b_idx, scalar_t b)
 
template<typename scalar_t >
static std::pair< int64_t, scalar_t > CPUArgMaxReductionKernel (int64_t a_idx, scalar_t a, int64_t b_idx, scalar_t b)
 
void ReductionSYCL (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)
 
template<typename element_func_t >
static void LaunchUnaryEWKernel (const Indexer &indexer, const element_func_t &element_func)
 
template<typename src_t , typename dst_t , typename element_func_t >
static void LaunchUnaryEWKernel (const Indexer &indexer, const element_func_t &element_func)
 
template<typename src_t , typename dst_t , typename element_func_t , typename vec_func_t >
static void LaunchUnaryEWKernel (const Indexer &indexer, const element_func_t &element_func, const vec_func_t &vec_func)
 
template<typename src_t , typename dst_t >
static void CPUCopyElementKernel (const void *src, void *dst)
 
static void CPUCopyObjectElementKernel (const void *src, void *dst, int64_t object_byte_size)
 
template<typename scalar_t >
static void CPUSqrtElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUSinElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUCosElementKernel (const void *src, void *dst)
 
template<typename scalar_t , typename std::enable_if< std::is_integral< scalar_t >::value, int >::type = 0>
static void CPUNegElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUExpElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUAbsElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUIsNanElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUIsInfElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUIsFiniteElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUFloorElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUCeilElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPURoundElementKernel (const void *src, void *dst)
 
template<typename scalar_t >
static void CPUTruncElementKernel (const void *src, void *dst)
 
template<typename src_t , typename dst_t >
static void CPULogicalNotElementKernel (const void *src, void *dst)
 
void CopySYCL (const Tensor &src, Tensor &dst)
 
void UnaryEWSYCL (const Tensor &src, Tensor &dst, UnaryEWOpCode op_code)
 

Variables

const std::unordered_set< BinaryEWOpCode, utility::hash_enum_classs_boolean_binary_ew_op_codes
 
static const std::unordered_set< ReductionOpCode, utility::hash_enum_classs_regular_reduce_ops
 
static const std::unordered_set< ReductionOpCode, utility::hash_enum_classs_arg_reduce_ops
 
static const std::unordered_set< ReductionOpCode, utility::hash_enum_classs_boolean_reduce_ops
 

Enumeration Type Documentation

◆ BinaryEWOpCode

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

Definition at line 21 of file BinaryEW.h.

◆ ReductionOpCode

Enumerator
Sum 
Prod 
Min 
Max 
ArgMin 
ArgMax 
All 
Any 

Definition at line 22 of file Reduction.h.

◆ UnaryEWOpCode

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

Definition at line 18 of file UnaryEW.h.

Function Documentation

◆ Arange()

◆ ArangeCPU()

◆ ArangeSYCL()

◆ BinaryEW()

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

◆ BinaryEWCPU()

◆ BinaryEWSYCL()

◆ Copy()

◆ CopyCPU()

◆ CopySYCL()

◆ CPUAbsElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUAbsElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 121 of file UnaryEWCPU.cpp.

References abs().

Referenced by UnaryEWCPU().

◆ CPUAddElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUAddElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 68 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPUAllReductionKernel()

static uint8_t cloudViewer::core::kernel::CPUAllReductionKernel ( uint8_t  a,
uint8_t  b 
)
inlinestatic

Definition at line 42 of file ReductionCPU.cpp.

◆ CPUAnyReductionKernel()

static uint8_t cloudViewer::core::kernel::CPUAnyReductionKernel ( uint8_t  a,
uint8_t  b 
)
inlinestatic

Definition at line 46 of file ReductionCPU.cpp.

◆ CPUArgMaxReductionKernel()

template<typename scalar_t >
static std::pair<int64_t, scalar_t> cloudViewer::core::kernel::CPUArgMaxReductionKernel ( int64_t  a_idx,
scalar_t  a,
int64_t  b_idx,
scalar_t  b 
)
inlinestatic

Definition at line 61 of file ReductionCPU.cpp.

◆ CPUArgMinReductionKernel()

template<typename scalar_t >
static std::pair<int64_t, scalar_t> cloudViewer::core::kernel::CPUArgMinReductionKernel ( int64_t  a_idx,
scalar_t  a,
int64_t  b_idx,
scalar_t  b 
)
inlinestatic

Definition at line 51 of file ReductionCPU.cpp.

◆ CPUCeilElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUCeilElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 151 of file UnaryEWCPU.cpp.

References cloudViewer::utility::ceil().

Referenced by UnaryEWCPU().

◆ CPUCopyElementKernel() [1/2]

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUCopyElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 30 of file IndexGetSetCPU.cpp.

◆ CPUCopyElementKernel() [2/2]

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPUCopyElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 67 of file UnaryEWCPU.cpp.

◆ CPUCopyObjectElementKernel() [1/2]

static void cloudViewer::core::kernel::CPUCopyObjectElementKernel ( const void *  src,
void *  dst,
int64_t  object_byte_size 
)
static

Definition at line 34 of file IndexGetSetCPU.cpp.

Referenced by CopyCPU(), IndexGetCPU(), and IndexSetCPU().

◆ CPUCopyObjectElementKernel() [2/2]

static void cloudViewer::core::kernel::CPUCopyObjectElementKernel ( const void *  src,
void *  dst,
int64_t  object_byte_size 
)
static

Definition at line 72 of file UnaryEWCPU.cpp.

◆ CPUCosElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUCosElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 93 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUDivElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUDivElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 86 of file BinaryEWCPU.cpp.

◆ CPUEqElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPUEqElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 143 of file BinaryEWCPU.cpp.

◆ CPUExpElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUExpElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 115 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUFloorElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUFloorElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 145 of file UnaryEWCPU.cpp.

References cloudViewer::utility::floor().

Referenced by UnaryEWCPU().

◆ CPUGeqElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPUGeqElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 131 of file BinaryEWCPU.cpp.

◆ CPUGtElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPUGtElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 119 of file BinaryEWCPU.cpp.

◆ CPUIsFiniteElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUIsFiniteElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 139 of file UnaryEWCPU.cpp.

◆ CPUIsInfElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUIsInfElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 133 of file UnaryEWCPU.cpp.

◆ CPUIsNanElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUIsNanElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 127 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPULeqElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULeqElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 137 of file BinaryEWCPU.cpp.

◆ CPULogicalAndElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULogicalAndElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 92 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPULogicalNotElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULogicalNotElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 169 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPULogicalOrElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULogicalOrElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 101 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPULogicalXorElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULogicalXorElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 110 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPULtElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPULtElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 125 of file BinaryEWCPU.cpp.

◆ CPUMaxElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUMaxElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 56 of file BinaryEWCPU.cpp.

References max().

◆ CPUMaxReductionKernel()

template<typename scalar_t >
static scalar_t cloudViewer::core::kernel::CPUMaxReductionKernel ( scalar_t  a,
scalar_t  b 
)
inlinestatic

Definition at line 38 of file ReductionCPU.cpp.

References max().

◆ CPUMinElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUMinElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 62 of file BinaryEWCPU.cpp.

References min().

◆ CPUMinReductionKernel()

template<typename scalar_t >
static scalar_t cloudViewer::core::kernel::CPUMinReductionKernel ( scalar_t  a,
scalar_t  b 
)
inlinestatic

Definition at line 33 of file ReductionCPU.cpp.

References min().

◆ CPUMulElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUMulElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 80 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPUNegElementKernel()

template<typename scalar_t , typename std::enable_if< std::is_integral< scalar_t >::value, int >::type = 0>
static void cloudViewer::core::kernel::CPUNegElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 101 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUNeqElementKernel()

template<typename src_t , typename dst_t >
static void cloudViewer::core::kernel::CPUNeqElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 149 of file BinaryEWCPU.cpp.

◆ CPUProdReductionKernel()

template<typename scalar_t >
static scalar_t cloudViewer::core::kernel::CPUProdReductionKernel ( scalar_t  a,
scalar_t  b 
)
inlinestatic

Definition at line 28 of file ReductionCPU.cpp.

◆ CPURoundElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPURoundElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 157 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUSinElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUSinElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 87 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUSqrtElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUSqrtElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 81 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ CPUSubElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUSubElementKernel ( const void *  lhs,
const void *  rhs,
void *  dst 
)
static

Definition at line 74 of file BinaryEWCPU.cpp.

Referenced by BinaryEWCPU().

◆ CPUSumKernel()

template<typename scalar_t >
static CLOUDVIEWER_HOST_DEVICE void cloudViewer::core::kernel::CPUSumKernel ( const void *  src,
void *  dst 
)
static

Definition at line 60 of file IndexReductionCPU.cpp.

◆ CPUSumReductionKernel()

template<typename scalar_t >
static scalar_t cloudViewer::core::kernel::CPUSumReductionKernel ( scalar_t  a,
scalar_t  b 
)
inlinestatic

Definition at line 23 of file ReductionCPU.cpp.

◆ CPUTruncElementKernel()

template<typename scalar_t >
static void cloudViewer::core::kernel::CPUTruncElementKernel ( const void *  src,
void *  dst 
)
static

Definition at line 163 of file UnaryEWCPU.cpp.

Referenced by UnaryEWCPU().

◆ IndexAdd_()

◆ IndexAddCPU_()

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

◆ IndexAddSYCL_()

◆ IndexGet()

◆ IndexGetCPU()

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

◆ IndexGetSYCL()

◆ IndexSet()

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

◆ IndexSetCPU()

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

◆ IndexSetSYCL()

◆ LaunchAdvancedIndexerKernel()

template<typename func_t >
static void cloudViewer::core::kernel::LaunchAdvancedIndexerKernel ( const AdvancedIndexer indexer,
const func_t &  func 
)
static

Definition at line 21 of file IndexGetSetCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

Referenced by IndexGetCPU(), and IndexSetCPU().

◆ LaunchBinaryEWKernel() [1/2]

template<typename src_t , typename dst_t , typename element_func_t >
static void cloudViewer::core::kernel::LaunchBinaryEWKernel ( const Indexer indexer,
const element_func_t &  element_func 
)
static

Definition at line 28 of file BinaryEWCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

◆ LaunchBinaryEWKernel() [2/2]

template<typename src_t , typename dst_t , typename element_func_t , typename vec_func_t >
static void cloudViewer::core::kernel::LaunchBinaryEWKernel ( const Indexer indexer,
const element_func_t &  element_func,
const vec_func_t &  vec_func 
)
static

Definition at line 42 of file BinaryEWCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

◆ LaunchIndexReductionKernel()

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

◆ LaunchUnaryEWKernel() [1/3]

template<typename element_func_t >
static void cloudViewer::core::kernel::LaunchUnaryEWKernel ( const Indexer indexer,
const element_func_t &  element_func 
)
static

Definition at line 31 of file UnaryEWCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

Referenced by CopyCPU().

◆ LaunchUnaryEWKernel() [2/3]

template<typename src_t , typename dst_t , typename element_func_t >
static void cloudViewer::core::kernel::LaunchUnaryEWKernel ( const Indexer indexer,
const element_func_t &  element_func 
)
static

Definition at line 41 of file UnaryEWCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

◆ LaunchUnaryEWKernel() [3/3]

template<typename src_t , typename dst_t , typename element_func_t , typename vec_func_t >
static void cloudViewer::core::kernel::LaunchUnaryEWKernel ( const Indexer indexer,
const element_func_t &  element_func,
const vec_func_t &  vec_func 
)
static

Definition at line 54 of file UnaryEWCPU.cpp.

References indexer, and cloudViewer::core::ParallelFor().

◆ NonZero()

◆ NonZeroCPU()

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

◆ NonZeroSYCL()

◆ Reduction()

◆ ReductionCPU()

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

◆ ReductionSYCL()

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

◆ TestLinalgIntegration()

void cloudViewer::core::kernel::TestLinalgIntegration ( )

Definition at line 21 of file Kernel.cpp.

References LogInfo, and min().

Referenced by cloudViewer::core::pybind_core_kernel().

◆ UnaryEW()

◆ UnaryEWCPU()

◆ UnaryEWSYCL()

Variable Documentation

◆ s_arg_reduce_ops

const std::unordered_set<ReductionOpCode, utility::hash_enum_class> cloudViewer::core::kernel::s_arg_reduce_ops
static
Initial value:
= {
ReductionOpCode::ArgMin,
ReductionOpCode::ArgMax,
}

Definition at line 41 of file Reduction.h.

Referenced by Reduction().

◆ s_boolean_binary_ew_op_codes

const std::unordered_set< BinaryEWOpCode, utility::hash_enum_class > cloudViewer::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,
}

Definition at line 22 of file BinaryEW.cpp.

Referenced by BinaryEWCPU(), and BinaryEWSYCL().

◆ s_boolean_reduce_ops

const std::unordered_set<ReductionOpCode, utility::hash_enum_class> cloudViewer::core::kernel::s_boolean_reduce_ops
static
Initial value:
= {
ReductionOpCode::All,
ReductionOpCode::Any,
}

Definition at line 46 of file Reduction.h.

◆ s_regular_reduce_ops

const std::unordered_set<ReductionOpCode, utility::hash_enum_class> cloudViewer::core::kernel::s_regular_reduce_ops
static
Initial value:
= {
ReductionOpCode::Sum,
ReductionOpCode::Prod,
ReductionOpCode::Max,
}
static const unsigned Min

Definition at line 34 of file Reduction.h.

Referenced by ReductionCPU(), and ReductionSYCL().