Open3D (C++ API)  0.18.0
Data Structures | Namespaces | Macros | Functions
CUDAUtils.h File Reference

(b9e049c (Sun Dec 31 11:36:26 2023 -0800))

Common CUDA utilities. More...

#include "open3d/core/Device.h"
#include "open3d/utility/Logging.h"

Go to the source code of this file.

Data Structures

class  open3d::core::CUDAScopedDevice
 When CUDA is not enabled, this is a dummy class. More...
 

Namespaces

 open3d
 
 open3d::core
 
 open3d::core::cuda
 

Macros

#define OPEN3D_FORCE_INLINE   inline
 
#define OPEN3D_HOST_DEVICE
 
#define OPEN3D_DEVICE
 
#define OPEN3D_ASSERT_HOST_DEVICE_LAMBDA(type)
 
#define OPEN3D_CUDA_CHECK(err)
 
#define OPEN3D_GET_LAST_CUDA_ERROR(message)
 
#define CUDA_CALL(cuda_function, ...)
 

Functions

int open3d::core::cuda::DeviceCount ()
 
bool open3d::core::cuda::IsAvailable ()
 
void open3d::core::cuda::ReleaseCache ()
 Releases CUDA memory manager cache. This is typically used for debugging. More...
 
void open3d::core::cuda::Synchronize ()
 
void open3d::core::cuda::Synchronize (const Device &device)
 
void open3d::core::cuda::AssertCUDADeviceAvailable (int device_id)
 
void open3d::core::cuda::AssertCUDADeviceAvailable (const Device &device)
 
bool open3d::core::cuda::SupportsMemoryPools (const Device &device)
 

Detailed Description

Common CUDA utilities.

CUDAUtils.h may be included from CPU-only code. Use #ifdef CUDACC to mark conditional compilation

Macro Definition Documentation

◆ CUDA_CALL

#define CUDA_CALL (   cuda_function,
  ... 
)
Value:
"Not built with CUDA, cannot call " #cuda_function);
#define LogError(...)
Definition: Logging.h:48

◆ OPEN3D_ASSERT_HOST_DEVICE_LAMBDA

#define OPEN3D_ASSERT_HOST_DEVICE_LAMBDA (   type)

◆ OPEN3D_CUDA_CHECK

#define OPEN3D_CUDA_CHECK (   err)

◆ OPEN3D_DEVICE

#define OPEN3D_DEVICE

◆ OPEN3D_FORCE_INLINE

#define OPEN3D_FORCE_INLINE   inline

◆ OPEN3D_GET_LAST_CUDA_ERROR

#define OPEN3D_GET_LAST_CUDA_ERROR (   message)

◆ OPEN3D_HOST_DEVICE

#define OPEN3D_HOST_DEVICE