|
uint32_t | AtomicFetchAddRelaxed (uint32_t *address, uint32_t val) |
|
uint64_t | AtomicFetchAddRelaxed (uint64_t *address, uint64_t val) |
|
void | CPUResetHeap (Tensor &heap) |
|
std::shared_ptr< DeviceHashBackend > | CreateCPUHashBackend (int64_t init_capacity, const Dtype &key_dtype, const SizeVector &key_element_shape, const std::vector< Dtype > &value_dtypes, const std::vector< SizeVector > &value_element_shapes, const Device &device, const HashBackendType &backend) |
| Non-templated factory. More...
|
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | InsertKernelPass0 (SlabHashBackendImpl< Key, Hash, Eq > impl, const void *input_keys, buf_index_t *output_buf_indices, int heap_counter_prev, int64_t count) |
| Kernels. More...
|
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | InsertKernelPass1 (SlabHashBackendImpl< Key, Hash, Eq > impl, const void *input_keys, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq , typename block_t > |
__global__ void | InsertKernelPass2 (SlabHashBackendImpl< Key, Hash, Eq > impl, const void *const *input_values_soa, buf_index_t *output_buf_indices, bool *output_masks, int64_t count, int64_t n_values) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | FindKernel (SlabHashBackendImpl< Key, Hash, Eq > impl, const void *input_keys, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | EraseKernelPass0 (SlabHashBackendImpl< Key, Hash, Eq > impl, const void *input_keys, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | EraseKernelPass1 (SlabHashBackendImpl< Key, Hash, Eq > impl, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | GetActiveIndicesKernel (SlabHashBackendImpl< Key, Hash, Eq > impl, buf_index_t *output_buf_indices, uint32_t *output_count) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | CountElemsPerBucketKernel (SlabHashBackendImpl< Key, Hash, Eq > impl, int64_t *bucket_elem_counts) |
|
__global__ void | CountSlabsPerSuperblockKernel (SlabNodeManagerImpl impl, uint32_t *slabs_per_superblock) |
|
template<typename First , typename Second > |
OPEN3D_HOST_DEVICE Pair< First, Second > | make_pair (const First &_first, const Second &_second) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | STDGPUFindKernel (InternalStdGPUHashBackend< Key, Hash, Eq > map, CUDAHashBackendBufferAccessor buffer_accessor, const Key *input_keys, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq > |
__global__ void | STDGPUEraseKernel (InternalStdGPUHashBackend< Key, Hash, Eq > map, CUDAHashBackendBufferAccessor buffer_accessor, const Key *input_keys, buf_index_t *output_buf_indices, bool *output_masks, int64_t count) |
|
template<typename Key , typename Hash , typename Eq , typename block_t > |
__global__ void | STDGPUInsertKernel (InternalStdGPUHashBackend< Key, Hash, Eq > map, CUDAHashBackendBufferAccessor buffer_accessor, const Key *input_keys, const void *const *input_values_soa, buf_index_t *output_buf_indices, bool *output_masks, int64_t count, int64_t n_values) |
|
std::shared_ptr< DeviceHashBackend > | CreateDeviceHashBackend (int64_t init_capacity, const Dtype &key_dtype, const SizeVector &key_element_shape, const std::vector< Dtype > &value_dtypes, const std::vector< SizeVector > &value_element_shapes, const Device &device, const HashBackendType &backend) |
|
std::shared_ptr< DeviceHashBackend > | CreateCUDAHashBackend (int64_t init_capacity, const Dtype &key_dtype, const SizeVector &key_element_shape, const std::vector< Dtype > &value_dtypes, const std::vector< SizeVector > &value_element_shapes, const Device &device, const HashBackendType &backend) |
|
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) |
|
double | Det (const Tensor &A) |
|
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 | LUIpiv (const Tensor &A, Tensor &ipiv, Tensor &output) |
|
void | LU (const Tensor &A, Tensor &permutation, Tensor &lower, Tensor &upper, const bool permute_l) |
|
void | LUCPU (void *A_data, void *ipiv_data, int64_t rows, int64_t cols, Dtype dtype, const Device &device) |
|
void | LUCUDA (void *A_data, void *ipiv_data, int64_t rows, int64_t cols, Dtype dtype, const Device &device) |
|
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) |
|
void | Triu (const Tensor &A, Tensor &output, const int diagonal) |
|
void | Tril (const Tensor &A, Tensor &output, const int diagonal) |
|
void | Triul (const Tensor &A, Tensor &upper, Tensor &lower, const int diagonal) |
|
void | TriuCPU (const Tensor &A, Tensor &output, const int diagonal) |
|
void | TrilCPU (const Tensor &A, Tensor &output, const int diagonal) |
|
void | TriulCPU (const Tensor &A, Tensor &upper, Tensor &lower, const int diagonal) |
|
template<typename func_t > |
void | ParallelForCPU_ (const Device &device, int64_t n, const func_t &func) |
| Run a function in parallel on CPU. More...
|
|
template<typename func_t > |
void | ParallelFor (const Device &device, int64_t n, const func_t &func) |
|
template<typename vec_func_t , typename func_t > |
void | ParallelFor (const Device &device, int64_t n, const func_t &func, const vec_func_t &vec_func) |
|
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) |
|
Tensor | Concatenate (const std::vector< Tensor > &tensors, const utility::optional< int64_t > &axis=0) |
| Concatenates the list of tensors in their order, along the given axis into a new tensor. All the tensors must have same data-type, device, and number of dimensions. All dimensions must be the same, except the dimension along the axis the tensors are to be concatinated. Using Concatenate for a single tensor, the tensor is split along its first dimension (length), and concatenated along the axis. More...
|
|
Tensor | Append (const Tensor &self, const Tensor &other, const utility::optional< int64_t > &axis=utility::nullopt) |
| Appends the two tensors, along the given axis into a new tensor. Both the tensors must have same data-type, device, and number of dimensions. All dimensions must be the same, except the dimension along the axis the tensors are to be appended. More...
|
|