Open3D (C++ API)  0.11.0
Namespaces | Data Structures | Typedefs | Enumerations | Functions | Variables
open3d::core Namespace Reference

Namespaces

 cuda
 
 eigen_converter
 
 kernel
 
 nns
 
 shape_util
 

Data Structures

class  AdvancedIndexer
 
class  AdvancedIndexPreprocessor
 This class is based on PyTorch's aten/src/ATen/native/Indexing.cpp. More...
 
class  Blob
 
class  CPUHashmap
 
class  CPUMemoryManager
 
class  CUDAHashmap
 
class  CUDAHashmapImplContext
 
struct  DefaultHash
 
struct  DefaultKeyEq
 
class  Device
 
class  DeviceHashmap
 Base class: shared interface. More...
 
class  DeviceMemoryManager
 
class  Dtype
 
struct  FunctionTraits
 
class  Hashmap
 
class  Indexer
 
class  IndexerIterator
 
class  InternalKvPairManager
 
class  InternalKvPairManagerContext
 
class  InternalNodeManager
 
class  InternalNodeManagerContext
 
struct  iterator_t
 
class  MemoryManager
 
class  NoneType
 
struct  OffsetCalculator
 
class  Open3DDLManagedTensor
 Open3D DLPack Tensor manager. More...
 
struct  Pair
 
class  SizeVector
 
class  Slab
 
struct  SmallArray
 
class  Tensor
 
class  TensorIterator
 
class  TensorKey
 
class  TensorList
 
struct  TensorRef
 A minimalistic class that reference a Tensor. More...
 

Typedefs

typedef DeviceHashmap< DefaultHash, DefaultKeyEqDefaultDeviceHashmap
 
typedef uint32_t addr_t
 

Enumerations

enum  DtypePolicy { DtypePolicy::NONE, DtypePolicy::ALL_SAME, DtypePolicy::INPUT_SAME, DtypePolicy::INPUT_SAME_OUTPUT_BOOL }
 

Functions

uint32_t AtomicFetchAddRelaxed (uint32_t *address, uint32_t val)
 
uint64_t AtomicFetchAddRelaxed (uint64_t *address, uint64_t val)
 
std::shared_ptr< DefaultDeviceHashmapCreateDefaultCPUHashmap (size_t init_buckets, size_t init_capacity, size_t dsize_key, size_t dsize_value, const Device &device)
 Non-templated factory. More...
 
void UnpackIteratorsStep (const iterator_t *input_iterators, const bool *input_masks, void *output_keys, void *output_values, const Device &device, size_t dsize_key, size_t dsize_value, size_t tid)
 
void AssignIteratorsStep (iterator_t *input_iterators, const bool *input_masks, const void *input_values, const Device &device, size_t dsize_value, size_t tid)
 
template<typename Hash , typename KeyEq >
std::shared_ptr< CPUHashmap< Hash, KeyEq > > CreateTemplateCPUHashmap (size_t init_buckets, size_t init_capacity, size_t dsize_key, size_t dsize_value, const Device &device)
 Templated factory. More...
 
template<typename Hash , typename KeyEq >
__global__ void InsertKernelPass0 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *output_iterator_addrs, int heap_counter_prev, size_t count)
 Kernels. More...
 
template<typename Hash , typename KeyEq >
__global__ void InsertKernelPass1 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *input_iterator_addrs, bool *output_masks, size_t count)
 
template<typename Hash , typename KeyEq >
__global__ void InsertKernelPass2 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_values, addr_t *input_iterator_addrs, iterator_t *output_iterators, bool *output_masks, size_t count)
 
template<typename Hash , typename KeyEq >
__global__ void FindKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, iterator_t *output_iterators, bool *output_masks, size_t count)
 
template<typename Hash , typename KeyEq >
__global__ void EraseKernelPass0 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *output_iterator_addrs, bool *output_masks, size_t count)
 
template<typename Hash , typename KeyEq >
__global__ void EraseKernelPass1 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, addr_t *input_iterator_addrs, bool *output_masks, size_t count)
 
template<typename Hash , typename KeyEq >
__global__ void GetIteratorsKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, iterator_t *output_iterators, uint32_t *output_iterator_count)
 
template<typename Hash , typename KeyEq >
__global__ void CountElemsPerBucketKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, size_t *bucket_elem_counts)
 
__global__ void UnpackIteratorsKernel (const iterator_t *input_iterators, const bool *input_masks, void *output_keys, void *output_values, size_t dsize_key, size_t dsize_value, size_t iterator_count)
 
__global__ void AssignIteratorsKernel (iterator_t *input_iterators, const bool *input_masks, const void *input_values, size_t dsize_value, size_t iterator_count)
 
__global__ void ResetInternalKvPairManagerKernel (InternalKvPairManagerContext ctx)
 
__global__ void CountSlabsPerSuperblockKernel (InternalNodeManagerContext context, uint32_t *slabs_per_superblock)
 
std::shared_ptr< DefaultDeviceHashmapCreateDefaultDeviceHashmap (size_t init_buckets, size_t init_capacity, size_t dsize_key, size_t dsize_value, const Device &device)
 
std::shared_ptr< DefaultDeviceHashmapCreateDefaultCUDAHashmap (size_t init_buckets, size_t init_capacity, size_t dsize_key, size_t dsize_value, const Device &device)
 
template<typename Hash , typename KeyEq >
std::shared_ptr< DeviceHashmap< Hash, KeyEq > > CreateTemplateDeviceHashmap (size_t init_buckets, size_t init_capacity, size_t dsize_key, size_t dsize_value, const Device &device)
 
template<typename First , typename Second >
OPEN3D_HOST_DEVICE Pair< First, Second > make_pair (const First &_first, const Second &_second)
 
template<typename scalar_t >
void gemm_cpu (CBLAS_LAYOUT layout, CBLAS_TRANSPOSE trans_A, CBLAS_TRANSPOSE trans_B, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT k, scalar_t alpha, const scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, const scalar_t *B_data, OPEN3D_CPU_LINALG_INT ldb, scalar_t beta, scalar_t *C_data, OPEN3D_CPU_LINALG_INT ldc)
 
template<>
void gemm_cpu< float > (CBLAS_LAYOUT layout, CBLAS_TRANSPOSE trans_A, CBLAS_TRANSPOSE trans_B, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT k, float alpha, const float *A_data, OPEN3D_CPU_LINALG_INT lda, const float *B_data, OPEN3D_CPU_LINALG_INT ldb, float beta, float *C_data, OPEN3D_CPU_LINALG_INT ldc)
 
template<>
void gemm_cpu< double > (CBLAS_LAYOUT layout, CBLAS_TRANSPOSE trans_A, CBLAS_TRANSPOSE trans_B, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT k, double alpha, const double *A_data, OPEN3D_CPU_LINALG_INT lda, const double *B_data, OPEN3D_CPU_LINALG_INT ldb, double beta, double *C_data, OPEN3D_CPU_LINALG_INT ldc)
 
void Inverse (const Tensor &A, Tensor &output)
 Computes A^{-1} with LU factorization, where A is a N x N square matrix. More...
 
void InverseCPU (void *A_data, void *ipiv_data, void *output_data, int64_t n, Dtype dtype, const Device &device)
 
void InverseCUDA (void *A_data, void *ipiv_data, void *output_data, int64_t n, Dtype dtype, const Device &device)
 
template<typename scalar_t >
OPEN3D_CPU_LINALG_INT getrf_cpu (int layout, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<typename scalar_t >
OPEN3D_CPU_LINALG_INT getri_cpu (int layout, OPEN3D_CPU_LINALG_INT n, scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<typename scalar_t >
OPEN3D_CPU_LINALG_INT gesv_cpu (int layout, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT m, scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data, scalar_t *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<typename scalar_t >
OPEN3D_CPU_LINALG_INT gels_cpu (int matrix_layout, char trans, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT nrhs, scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, scalar_t *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<typename scalar_t >
OPEN3D_CPU_LINALG_INT gesvd_cpu (int matrix_layout, char jobu, char jobvt, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, scalar_t *A_data, OPEN3D_CPU_LINALG_INT lda, scalar_t *S_data, scalar_t *U_data, OPEN3D_CPU_LINALG_INT ldu, scalar_t *VT_data, OPEN3D_CPU_LINALG_INT ldvt, scalar_t *superb)
 
template<>
OPEN3D_CPU_LINALG_INT getrf_cpu< float > (int layout, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, float *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<>
OPEN3D_CPU_LINALG_INT getrf_cpu< double > (int layout, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, double *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<>
OPEN3D_CPU_LINALG_INT getri_cpu< float > (int layout, OPEN3D_CPU_LINALG_INT n, float *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<>
OPEN3D_CPU_LINALG_INT getri_cpu< double > (int layout, OPEN3D_CPU_LINALG_INT n, double *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data)
 
template<>
OPEN3D_CPU_LINALG_INT gesv_cpu< float > (int layout, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT m, float *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data, float *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<>
OPEN3D_CPU_LINALG_INT gesv_cpu< double > (int layout, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT m, double *A_data, OPEN3D_CPU_LINALG_INT lda, OPEN3D_CPU_LINALG_INT *ipiv_data, double *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<>
OPEN3D_CPU_LINALG_INT gels_cpu< float > (int layout, char trans, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT nrhs, float *A_data, OPEN3D_CPU_LINALG_INT lda, float *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<>
OPEN3D_CPU_LINALG_INT gels_cpu< double > (int layout, char trans, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, OPEN3D_CPU_LINALG_INT nrhs, double *A_data, OPEN3D_CPU_LINALG_INT lda, double *B_data, OPEN3D_CPU_LINALG_INT ldb)
 
template<>
OPEN3D_CPU_LINALG_INT gesvd_cpu< float > (int layout, char jobu, char jobvt, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, float *A_data, OPEN3D_CPU_LINALG_INT lda, float *S_data, float *U_data, OPEN3D_CPU_LINALG_INT ldu, float *VT_data, OPEN3D_CPU_LINALG_INT ldvt, float *superb)
 
template<>
OPEN3D_CPU_LINALG_INT gesvd_cpu< double > (int layout, char jobu, char jobvt, OPEN3D_CPU_LINALG_INT m, OPEN3D_CPU_LINALG_INT n, double *A_data, OPEN3D_CPU_LINALG_INT lda, double *S_data, double *U_data, OPEN3D_CPU_LINALG_INT ldu, double *VT_data, OPEN3D_CPU_LINALG_INT ldvt, double *superb)
 
void LeastSquares (const Tensor &A, const Tensor &B, Tensor &X)
 Solve AX = B with QR decomposition. A is a full-rank m x n matrix (m >= n). More...
 
void LeastSquaresCPU (void *A_data, void *B_data, int64_t m, int64_t n, int64_t k, Dtype dtype, const Device &device)
 
void LeastSquaresCUDA (void *A_data, void *B_data, int64_t m, int64_t n, int64_t k, Dtype dtype, const Device &device)
 
void OPEN3D_LAPACK_CHECK (OPEN3D_CPU_LINALG_INT info, const std::string &msg)
 
void Matmul (const Tensor &A, const Tensor &B, Tensor &C)
 Computes matrix multiplication C = AB. More...
 
void MatmulCPU (void *A_data, void *B_data, void *C_data, int64_t m, int64_t k, int64_t n, Dtype dtype)
 
void MatmulCUDA (void *A_data, void *B_data, void *C_data, int64_t m, int64_t k, int64_t n, Dtype dtype)
 
void Solve (const Tensor &A, const Tensor &B, Tensor &X)
 Solve AX = B with LU decomposition. A is a square matrix. More...
 
void SolveCPU (void *A_data, void *B_data, void *ipiv_data, int64_t n, int64_t k, Dtype dtype, const Device &device)
 
void SolveCUDA (void *A_data, void *B_data, void *ipiv_data, int64_t n, int64_t k, Dtype dtype, const Device &device)
 
void SVD (const Tensor &A, Tensor &U, Tensor &S, Tensor &VT)
 
void SVDCPU (const void *A_data, void *U_data, void *S_data, void *VT_data, void *superb_data, int64_t m, int64_t n, Dtype dtype, const Device &device)
 
void SVDCUDA (const void *A_data, void *U_data, void *S_data, void *VT_data, void *superb_data, int64_t m, int64_t n, Dtype dtype, const Device &device)
 
template<typename T >
Tensor operator+ (T scalar_lhs, const Tensor &rhs)
 
template<typename T >
Tensor operator- (T scalar_lhs, const Tensor &rhs)
 
template<typename T >
Tensor operator* (T scalar_lhs, const Tensor &rhs)
 
template<typename T >
Tensor operator/ (T scalar_lhs, const Tensor &rhs)
 

Variables

NoneType None
 

Typedef Documentation

◆ addr_t

typedef uint32_t open3d::core::addr_t

◆ DefaultDeviceHashmap

Factory functions:

Enumeration Type Documentation

◆ DtypePolicy

Enumerator
NONE 
ALL_SAME 
INPUT_SAME 
INPUT_SAME_OUTPUT_BOOL 

Function Documentation

◆ AssignIteratorsKernel()

__global__ void open3d::core::AssignIteratorsKernel ( iterator_t input_iterators,
const bool *  input_masks,
const void *  input_values,
size_t  dsize_value,
size_t  iterator_count 
)

◆ AssignIteratorsStep()

void open3d::core::AssignIteratorsStep ( iterator_t input_iterators,
const bool *  input_masks,
const void *  input_values,
const Device device,
size_t  dsize_value,
size_t  tid 
)

◆ AtomicFetchAddRelaxed() [1/2]

uint32_t open3d::core::AtomicFetchAddRelaxed ( uint32_t *  address,
uint32_t  val 
)
inline

◆ AtomicFetchAddRelaxed() [2/2]

uint64_t open3d::core::AtomicFetchAddRelaxed ( uint64_t *  address,
uint64_t  val 
)
inline

◆ CountElemsPerBucketKernel()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::CountElemsPerBucketKernel ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
size_t *  bucket_elem_counts 
)

◆ CountSlabsPerSuperblockKernel()

__global__ void open3d::core::CountSlabsPerSuperblockKernel ( InternalNodeManagerContext  context,
uint32_t *  slabs_per_superblock 
)

◆ CreateDefaultCPUHashmap()

std::shared_ptr< DefaultDeviceHashmap > open3d::core::CreateDefaultCPUHashmap ( size_t  init_buckets,
size_t  init_capacity,
size_t  dsize_key,
size_t  dsize_value,
const Device device 
)

Non-templated factory.

◆ CreateDefaultCUDAHashmap()

std::shared_ptr<DefaultDeviceHashmap> open3d::core::CreateDefaultCUDAHashmap ( size_t  init_buckets,
size_t  init_capacity,
size_t  dsize_key,
size_t  dsize_value,
const Device device 
)

◆ CreateDefaultDeviceHashmap()

std::shared_ptr< DefaultDeviceHashmap > open3d::core::CreateDefaultDeviceHashmap ( size_t  init_buckets,
size_t  init_capacity,
size_t  dsize_key,
size_t  dsize_value,
const Device device 
)

◆ CreateTemplateCPUHashmap()

template<typename Hash , typename KeyEq >
std::shared_ptr<CPUHashmap<Hash, KeyEq> > open3d::core::CreateTemplateCPUHashmap ( size_t  init_buckets,
size_t  init_capacity,
size_t  dsize_key,
size_t  dsize_value,
const Device device 
)

Templated factory.

◆ CreateTemplateDeviceHashmap()

template<typename Hash , typename KeyEq >
std::shared_ptr<DeviceHashmap<Hash, KeyEq> > open3d::core::CreateTemplateDeviceHashmap ( size_t  init_buckets,
size_t  init_capacity,
size_t  dsize_key,
size_t  dsize_value,
const Device device 
)

◆ EraseKernelPass0()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::EraseKernelPass0 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_keys,
addr_t output_iterator_addrs,
bool *  output_masks,
size_t  count 
)

◆ EraseKernelPass1()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::EraseKernelPass1 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
addr_t input_iterator_addrs,
bool *  output_masks,
size_t  count 
)

◆ FindKernel()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::FindKernel ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_keys,
iterator_t output_iterators,
bool *  output_masks,
size_t  count 
)

◆ gels_cpu()

template<typename scalar_t >
OPEN3D_CPU_LINALG_INT open3d::core::gels_cpu ( int  matrix_layout,
char  trans,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  nrhs,
scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
scalar_t *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gels_cpu< double >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gels_cpu< double > ( int  layout,
char  trans,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  nrhs,
double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
double *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gels_cpu< float >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gels_cpu< float > ( int  layout,
char  trans,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  nrhs,
float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
float *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gemm_cpu()

template<typename scalar_t >
void open3d::core::gemm_cpu ( CBLAS_LAYOUT  layout,
CBLAS_TRANSPOSE  trans_A,
CBLAS_TRANSPOSE  trans_B,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  k,
scalar_t  alpha,
const scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
const scalar_t *  B_data,
OPEN3D_CPU_LINALG_INT  ldb,
scalar_t  beta,
scalar_t *  C_data,
OPEN3D_CPU_LINALG_INT  ldc 
)
inline

◆ gemm_cpu< double >()

template<>
void open3d::core::gemm_cpu< double > ( CBLAS_LAYOUT  layout,
CBLAS_TRANSPOSE  trans_A,
CBLAS_TRANSPOSE  trans_B,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  k,
double  alpha,
const double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
const double *  B_data,
OPEN3D_CPU_LINALG_INT  ldb,
double  beta,
double *  C_data,
OPEN3D_CPU_LINALG_INT  ldc 
)
inline

◆ gemm_cpu< float >()

template<>
void open3d::core::gemm_cpu< float > ( CBLAS_LAYOUT  layout,
CBLAS_TRANSPOSE  trans_A,
CBLAS_TRANSPOSE  trans_B,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  k,
float  alpha,
const float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
const float *  B_data,
OPEN3D_CPU_LINALG_INT  ldb,
float  beta,
float *  C_data,
OPEN3D_CPU_LINALG_INT  ldc 
)
inline

◆ gesv_cpu()

template<typename scalar_t >
OPEN3D_CPU_LINALG_INT open3d::core::gesv_cpu ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  m,
scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data,
scalar_t *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gesv_cpu< double >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gesv_cpu< double > ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  m,
double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data,
double *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gesv_cpu< float >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gesv_cpu< float > ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
OPEN3D_CPU_LINALG_INT  m,
float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data,
float *  B_data,
OPEN3D_CPU_LINALG_INT  ldb 
)
inline

◆ gesvd_cpu()

template<typename scalar_t >
OPEN3D_CPU_LINALG_INT open3d::core::gesvd_cpu ( int  matrix_layout,
char  jobu,
char  jobvt,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
scalar_t *  S_data,
scalar_t *  U_data,
OPEN3D_CPU_LINALG_INT  ldu,
scalar_t *  VT_data,
OPEN3D_CPU_LINALG_INT  ldvt,
scalar_t *  superb 
)
inline

◆ gesvd_cpu< double >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gesvd_cpu< double > ( int  layout,
char  jobu,
char  jobvt,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
double *  S_data,
double *  U_data,
OPEN3D_CPU_LINALG_INT  ldu,
double *  VT_data,
OPEN3D_CPU_LINALG_INT  ldvt,
double *  superb 
)
inline

◆ gesvd_cpu< float >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::gesvd_cpu< float > ( int  layout,
char  jobu,
char  jobvt,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
float *  S_data,
float *  U_data,
OPEN3D_CPU_LINALG_INT  ldu,
float *  VT_data,
OPEN3D_CPU_LINALG_INT  ldvt,
float *  superb 
)
inline

◆ GetIteratorsKernel()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::GetIteratorsKernel ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
iterator_t output_iterators,
uint32_t *  output_iterator_count 
)

◆ getrf_cpu()

template<typename scalar_t >
OPEN3D_CPU_LINALG_INT open3d::core::getrf_cpu ( int  layout,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ getrf_cpu< double >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::getrf_cpu< double > ( int  layout,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ getrf_cpu< float >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::getrf_cpu< float > ( int  layout,
OPEN3D_CPU_LINALG_INT  m,
OPEN3D_CPU_LINALG_INT  n,
float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ getri_cpu()

template<typename scalar_t >
OPEN3D_CPU_LINALG_INT open3d::core::getri_cpu ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
scalar_t *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ getri_cpu< double >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::getri_cpu< double > ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
double *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ getri_cpu< float >()

template<>
OPEN3D_CPU_LINALG_INT open3d::core::getri_cpu< float > ( int  layout,
OPEN3D_CPU_LINALG_INT  n,
float *  A_data,
OPEN3D_CPU_LINALG_INT  lda,
OPEN3D_CPU_LINALG_INT ipiv_data 
)
inline

◆ InsertKernelPass0()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::InsertKernelPass0 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_keys,
addr_t output_iterator_addrs,
int  heap_counter_prev,
size_t  count 
)

Kernels.

◆ InsertKernelPass1()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::InsertKernelPass1 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_keys,
addr_t input_iterator_addrs,
bool *  output_masks,
size_t  count 
)

◆ InsertKernelPass2()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::InsertKernelPass2 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_values,
addr_t input_iterator_addrs,
iterator_t output_iterators,
bool *  output_masks,
size_t  count 
)

◆ Inverse()

void open3d::core::Inverse ( const Tensor A,
Tensor output 
)

Computes A^{-1} with LU factorization, where A is a N x N square matrix.

◆ InverseCPU()

void open3d::core::InverseCPU ( void *  A_data,
void *  ipiv_data,
void *  output_data,
int64_t  n,
Dtype  dtype,
const Device device 
)

◆ InverseCUDA()

void open3d::core::InverseCUDA ( void *  A_data,
void *  ipiv_data,
void *  output_data,
int64_t  n,
Dtype  dtype,
const Device device 
)

◆ LeastSquares()

void open3d::core::LeastSquares ( const Tensor A,
const Tensor B,
Tensor X 
)

Solve AX = B with QR decomposition. A is a full-rank m x n matrix (m >= n).

◆ LeastSquaresCPU()

void open3d::core::LeastSquaresCPU ( void *  A_data,
void *  B_data,
int64_t  m,
int64_t  n,
int64_t  k,
Dtype  dtype,
const Device device 
)

◆ LeastSquaresCUDA()

void open3d::core::LeastSquaresCUDA ( void *  A_data,
void *  B_data,
int64_t  m,
int64_t  n,
int64_t  k,
Dtype  dtype,
const Device device 
)

◆ make_pair()

template<typename First , typename Second >
OPEN3D_HOST_DEVICE Pair<First, Second> open3d::core::make_pair ( const First &  _first,
const Second &  _second 
)

◆ Matmul()

void open3d::core::Matmul ( const Tensor A,
const Tensor B,
Tensor output 
)

Computes matrix multiplication C = AB.

◆ MatmulCPU()

void open3d::core::MatmulCPU ( void *  A_data,
void *  B_data,
void *  C_data,
int64_t  m,
int64_t  k,
int64_t  n,
Dtype  dtype 
)

◆ MatmulCUDA()

void open3d::core::MatmulCUDA ( void *  A_data,
void *  B_data,
void *  C_data,
int64_t  m,
int64_t  k,
int64_t  n,
Dtype  dtype 
)

◆ OPEN3D_LAPACK_CHECK()

void open3d::core::OPEN3D_LAPACK_CHECK ( OPEN3D_CPU_LINALG_INT  info,
const std::string &  msg 
)
inline

◆ operator*()

template<typename T >
Tensor open3d::core::operator* ( scalar_lhs,
const Tensor rhs 
)
inline

◆ operator+()

template<typename T >
Tensor open3d::core::operator+ ( scalar_lhs,
const Tensor rhs 
)
inline

◆ operator-()

template<typename T >
Tensor open3d::core::operator- ( scalar_lhs,
const Tensor rhs 
)
inline

◆ operator/()

template<typename T >
Tensor open3d::core::operator/ ( scalar_lhs,
const Tensor rhs 
)
inline

◆ ResetInternalKvPairManagerKernel()

__global__ void open3d::core::ResetInternalKvPairManagerKernel ( InternalKvPairManagerContext  ctx)

◆ Solve()

void open3d::core::Solve ( const Tensor A,
const Tensor B,
Tensor X 
)

Solve AX = B with LU decomposition. A is a square matrix.

◆ SolveCPU()

void open3d::core::SolveCPU ( void *  A_data,
void *  B_data,
void *  ipiv_data,
int64_t  n,
int64_t  k,
Dtype  dtype,
const Device device 
)

◆ SolveCUDA()

void open3d::core::SolveCUDA ( void *  A_data,
void *  B_data,
void *  ipiv_data,
int64_t  n,
int64_t  k,
Dtype  dtype,
const Device device 
)

◆ SVD()

void open3d::core::SVD ( const Tensor A,
Tensor U,
Tensor S,
Tensor VT 
)

Computes SVD decomposition A = U S VT, where A is an m x n, U is an m x m, S is a min(m, n), VT is an n x n tensor.

◆ SVDCPU()

void open3d::core::SVDCPU ( const void *  A_data,
void *  U_data,
void *  S_data,
void *  VT_data,
void *  superb_data,
int64_t  m,
int64_t  n,
Dtype  dtype,
const Device device 
)

◆ SVDCUDA()

void open3d::core::SVDCUDA ( const void *  A_data,
void *  U_data,
void *  S_data,
void *  VT_data,
void *  superb_data,
int64_t  m,
int64_t  n,
Dtype  dtype,
const Device device 
)

◆ UnpackIteratorsKernel()

__global__ void open3d::core::UnpackIteratorsKernel ( const iterator_t input_iterators,
const bool *  input_masks,
void *  output_keys,
void *  output_values,
size_t  dsize_key,
size_t  dsize_value,
size_t  iterator_count 
)

◆ UnpackIteratorsStep()

void open3d::core::UnpackIteratorsStep ( const iterator_t input_iterators,
const bool *  input_masks,
void *  output_keys,
void *  output_values,
const Device device,
size_t  dsize_key,
size_t  dsize_value,
size_t  tid 
)

Variable Documentation

◆ None

NoneType open3d::core::None