![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Functions | |
| int | DeviceCount () |
| bool | IsAvailable () |
| void | ReleaseCache () |
| Releases CUDA memory manager cache. This is typically used for debugging. More... | |
| void | Synchronize () |
| void | Synchronize (const Device &device) |
| void | AssertCUDADeviceAvailable (int device_id) |
| void | AssertCUDADeviceAvailable (const Device &device) |
| bool | SupportsMemoryPools (const Device &device) |
| void cloudViewer::core::cuda::AssertCUDADeviceAvailable | ( | const Device & | device | ) |
Checks if the CUDA device-ID is available and throws error if not. The CUDA device-ID must be between 0 to device count - 1.
| device | The device to be checked. |
Definition at line 102 of file CUDAUtils.cpp.
References AssertCUDADeviceAvailable(), cloudViewer::core::Device::GetID(), cloudViewer::core::Device::IsCUDA(), LogError, and cloudViewer::core::Device::ToString().
| void cloudViewer::core::cuda::AssertCUDADeviceAvailable | ( | int | device_id | ) |
Checks if the CUDA device-ID is available and throws error if not. The CUDA device-ID must be between 0 to device count - 1.
| device_id | The cuda device id to be checked. |
Definition at line 76 of file CUDAUtils.cpp.
References DeviceCount(), and LogError.
Referenced by AssertCUDADeviceAvailable().
| int cloudViewer::core::cuda::DeviceCount | ( | ) |
Returns the number of available CUDA devices. Returns 0 if CloudViewer is not compiled with CUDA support.
Definition at line 22 of file CUDAUtils.cpp.
References CLOUDVIEWER_CUDA_CHECK.
Referenced by AssertCUDADeviceAvailable(), cloudViewer_core_cuda_device_count(), cloudViewer::core::Device::GetAvailableCUDADevices(), IsAvailable(), cloudViewer::core::pybind_cuda_utils(), and Synchronize().
| bool cloudViewer::core::cuda::IsAvailable | ( | ) |
Returns true if CloudViewer is compiled with CUDA support and at least one compatible CUDA device is detected.
Definition at line 39 of file CUDAUtils.cpp.
References DeviceCount().
Referenced by cloudViewer::core::pybind_cuda_utils().
| void cloudViewer::core::cuda::ReleaseCache | ( | ) |
Releases CUDA memory manager cache. This is typically used for debugging.
Definition at line 41 of file CUDAUtils.cpp.
References LogWarning, and cloudViewer::core::MemoryManagerCached::ReleaseCache().
Referenced by cloudViewer::core::pybind_cuda_utils().
| bool cloudViewer::core::cuda::SupportsMemoryPools | ( | const Device & | device | ) |
Checks if the CUDA device support Memory Pools used by the Stream Ordered Memory Allocator, see https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY__POOLS.html
| device | The device to be checked. |
Definition at line 112 of file CUDAUtils.cpp.
References CLOUDVIEWER_CUDA_CHECK, cloudViewer::core::Device::GetID(), and cloudViewer::core::Device::IsCUDA().
| void cloudViewer::core::cuda::Synchronize | ( | ) |
Calls cudaDeviceSynchronize() for all CUDA devices. If CloudViewer is not compiled with CUDA this function has no effect.
Definition at line 59 of file CUDAUtils.cpp.
References cloudViewer::core::Device::CUDA, and DeviceCount().
Referenced by cloudViewer::core::StdGPUHashBackend< Key, Hash, Eq >::Allocate(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::Allocate(), cloudViewer::t::pipelines::registration::BenchmarkDopplerICP(), cloudViewer::t::pipelines::registration::BenchmarkICP(), cloudViewer::core::BinaryEW(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::BucketSizes(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::Clear(), cloudViewer::t::pipelines::registration::ComputeFPFHFeature(), cloudViewer::t::pipelines::odometry::ComputeOdometryResultPointToPlane(), cloudViewer::core::SlabNodeManager::CountSlabsPerSuperblock(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::Erase(), cloudViewer::core::StdGPUHashBackend< Key, Hash, Eq >::Erase(), cloudViewer::t::geometry::kernel::pointcloud::EstimateColorGradientsUsingHybridSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateColorGradientsUsingKNNSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateColorGradientsUsingRadiusSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateCovariancesUsingHybridSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateCovariancesUsingKNNSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateCovariancesUsingRadiusSearchCPU(), cloudViewer::t::geometry::kernel::pointcloud::EstimateNormalsFromCovariancesCPU(), cloudViewer::t::geometry::kernel::voxel_grid::EstimateRangeCPU(), cloudViewer::t::geometry::kernel::voxel_grid::ExtractPointCloudCPU(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::Find(), cloudViewer::core::StdGPUHashBackend< Key, Hash, Eq >::Find(), cloudViewer::core::Free(), cloudViewer::t::geometry::FromLegacyPointCloud(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::GetActiveIndices(), cloudViewer::core::HashClearInt(), cloudViewer::core::HashClearInt3(), cloudViewer::core::HashEraseInt(), cloudViewer::core::HashEraseInt3(), cloudViewer::core::HashFindInt(), cloudViewer::core::HashFindInt3(), cloudViewer::core::HashInsertInt(), cloudViewer::core::HashInsertInt3(), cloudViewer::core::HashReserveInt(), cloudViewer::core::HashReserveInt3(), cloudViewer::core::SlabHashBackend< Key, Hash, Eq >::Insert(), cloudViewer::core::StdGPUHashBackend< Key, Hash, Eq >::Insert(), cloudViewer::t::geometry::kernel::voxel_grid::IntegrateCPU(), cloudViewer::core::Malloc(), cloudViewer::core::MatmulAB(), cloudViewer::t::geometry::kernel::voxel_grid::RayCastCPU(), cloudViewer::core::Reduction(), cloudViewer::core::SlabNodeManager::Reset(), cloudViewer::t::pipelines::odometry::RGBDOdometryMultiScale(), cloudViewer::t::geometry::SelectByIndex(), cloudViewer::core::CUDAHashBackendBufferAccessor::Setup(), cloudViewer::t::geometry::ToLegacyPointCloud(), cloudViewer::t::geometry::Transform(), cloudViewer::core::UnaryEW(), cloudViewer::t::geometry::UniformDownSample(), cloudViewer::t::geometry::VoxelDownSample(), and cloudViewer::core::Zeros().
| void cloudViewer::core::cuda::Synchronize | ( | const Device & | device | ) |
Calls cudaDeviceSynchronize() for the specified device. If CloudViewer is not compiled with CUDA or if device is not a CUDA device, this function has no effect.
| device | The device to be synchronized. |
Definition at line 67 of file CUDAUtils.cpp.
References CLOUDVIEWER_CUDA_CHECK, and cloudViewer::core::Device::IsCUDA().