Open3D (C++ API)  0.12.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  CPUHashmapBufferContext
 
class  CPUMemoryManager
 
class  CUDAHashmap
 
class  CUDAHashmapImplContext
 
class  DefaultHash
 
class  DefaultKeyEq
 
class  Device
 
class  DeviceHashmap
 Base class: shared interface. More...
 
class  DeviceMemoryManager
 
class  Dtype
 
class  DynamicSizeVector
 
struct  FunctionTraits
 
class  Hashmap
 
class  HashmapBuffer
 
class  Indexer
 
class  IndexerIterator
 
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 (int64_t init_buckets, int64_t init_capacity, int64_t dsize_key, int64_t dsize_value, const Device &device)
 Non-templated factory. More...
 
template<typename Hash , typename KeyEq >
std::shared_ptr< CPUHashmap< Hash, KeyEq > > CreateTemplateCPUHashmap (int64_t init_buckets, int64_t init_capacity, int64_t dsize_key, int64_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_addrs, int heap_counter_prev, int64_t count)
 Kernels. More...
 
template<typename Hash , typename KeyEq >
__global__ void InsertKernelPass1 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *output_addrs, bool *output_masks, int64_t count)
 
template<typename Hash , typename KeyEq >
__global__ void InsertKernelPass2 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_values, addr_t *output_addrs, bool *output_masks, int64_t count)
 
template<typename Hash , typename KeyEq >
__global__ void FindKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *output_addrs, bool *output_masks, int64_t count)
 
template<typename Hash , typename KeyEq >
__global__ void EraseKernelPass0 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, const void *input_keys, addr_t *output_addrs, bool *output_masks, int64_t count)
 
template<typename Hash , typename KeyEq >
__global__ void EraseKernelPass1 (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, addr_t *output_addrs, bool *output_masks, int64_t count)
 
template<typename Hash , typename KeyEq >
__global__ void GetActiveIndicesKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, addr_t *output_addrs, uint32_t *output_iterator_count)
 
template<typename Hash , typename KeyEq >
__global__ void CountElemsPerBucketKernel (CUDAHashmapImplContext< Hash, KeyEq > hash_ctx, int64_t *bucket_elem_counts)
 
__global__ void CountSlabsPerSuperblockKernel (InternalNodeManagerContext context, uint32_t *slabs_per_superblock)
 
template<typename First , typename Second >
OPEN3D_HOST_DEVICE Pair< First, Second > make_pair (const First &_first, const Second &_second)
 
std::shared_ptr< DefaultDeviceHashmapCreateDefaultDeviceHashmap (int64_t init_buckets, int64_t init_capacity, int64_t dsize_key, int64_t dsize_value, const Device &device)
 
std::shared_ptr< DefaultDeviceHashmapCreateDefaultCUDAHashmap (int64_t init_buckets, int64_t init_capacity, int64_t dsize_key, int64_t dsize_value, const Device &device)
 
template<typename Hash , typename KeyEq >
std::shared_ptr< DeviceHashmap< Hash, KeyEq > > CreateTemplateDeviceHashmap (int64_t init_buckets, int64_t init_capacity, int64_t dsize_key, int64_t dsize_value, const Device &device)
 
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

◆ 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,
int64_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 ( int64_t  init_buckets,
int64_t  init_capacity,
int64_t  dsize_key,
int64_t  dsize_value,
const Device device 
)

Non-templated factory.

◆ CreateDefaultCUDAHashmap()

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

◆ CreateDefaultDeviceHashmap()

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

◆ CreateTemplateCPUHashmap()

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

Templated factory.

◆ CreateTemplateDeviceHashmap()

template<typename Hash , typename KeyEq >
std::shared_ptr<DeviceHashmap<Hash, KeyEq> > open3d::core::CreateTemplateDeviceHashmap ( int64_t  init_buckets,
int64_t  init_capacity,
int64_t  dsize_key,
int64_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_addrs,
bool *  output_masks,
int64_t  count 
)

◆ EraseKernelPass1()

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

◆ FindKernel()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::FindKernel ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_keys,
addr_t output_addrs,
bool *  output_masks,
int64_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

◆ GetActiveIndicesKernel()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::GetActiveIndicesKernel ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
addr_t output_addrs,
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_addrs,
int  heap_counter_prev,
int64_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 output_addrs,
bool *  output_masks,
int64_t  count 
)

◆ InsertKernelPass2()

template<typename Hash , typename KeyEq >
__global__ void open3d::core::InsertKernelPass2 ( CUDAHashmapImplContext< Hash, KeyEq >  hash_ctx,
const void *  input_values,
addr_t output_addrs,
bool *  output_masks,
int64_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

◆ 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 
)

Variable Documentation

◆ None

NoneType open3d::core::None