The purpose of this class is to access CUDA algorithms without explicit dependency on MRCuda. More...
#include <MRCudaAccessor.h>
Public Types | |
using | CudaFreeMemoryFunc = std::function<size_t()> |
Returns amount of free memory on GPU. | |
using | CudaFwnConstructor = std::function<std::unique_ptr<IFastWindingNumber>( const Mesh& )> |
Returns specific implementation of IFastWindingNumber interface that computes windings on GPU. | |
using | CudaMeshProjectorConstructor = std::function<std::unique_ptr<IPointsToMeshProjector>()> |
Returns specific implementation of IPointsToMeshProjector interface projects on GPU. | |
using | CudaPointsToDistanceVolumeCallback = std::function<Expected<SimpleVolumeMinMax>( const PointCloud& cloud, const PointsToDistanceVolumeParams& params )> |
Static Public Member Functions | |
static MRVIEWER_API void | setCudaAvailable (bool val, int maxDriverVersion, int runtimeVersion, int computeMajor, int computeMinor) |
static MRVIEWER_API void | setCudaFreeMemoryFunc (CudaFreeMemoryFunc freeMemFunc) |
static MRVIEWER_API void | setCudaFastWindingNumberConstructor (CudaFwnConstructor fwnCtor) |
static MRVIEWER_API void | setCudaMeshProjectorConstructor (CudaMeshProjectorConstructor mpCtor) |
static MRVIEWER_API void | setCudaPointsToDistanceVolumeCallback (CudaPointsToDistanceVolumeCallback callback) |
static MRVIEWER_API bool | isCudaAvailable () |
static MRVIEWER_API int | getCudaMaxDriverSupportedVersion () |
static MRVIEWER_API int | getCudaRuntimeVersion () |
static MRVIEWER_API int | getComputeCapabilityMajor () |
static MRVIEWER_API int | getComputeCapabilityMinor () |
static MRVIEWER_API size_t | getCudaFreeMemory () |
static MRVIEWER_API std::unique_ptr< IFastWindingNumber > | getCudaFastWindingNumber (const Mesh &mesh) |
static MRVIEWER_API std::unique_ptr< IPointsToMeshProjector > | getCudaPointsToMeshProjector () |
static MRVIEWER_API CudaPointsToDistanceVolumeCallback | getCudaPointsToDistanceVolumeCallback () |
static MRVIEWER_API size_t | fastWindingNumberMeshMemory (const Mesh &mesh) |
static MRVIEWER_API size_t | fromGridMemory (const Mesh &mesh, const Vector3i &dims) |
static MRVIEWER_API size_t | fromVectorMemory (const Mesh &mesh, size_t inputSize) |
returns amount of required GPU memory for CudaFastWindingNumber::calcFromVector operation | |
static MRVIEWER_API size_t | selfIntersectionsMemory (const Mesh &mesh) |
returns amount of required GPU memory for CudaFastWindingNumber::calcSelfIntersections operation | |
The purpose of this class is to access CUDA algorithms without explicit dependency on MRCuda.
using MR::CudaAccessor::CudaFreeMemoryFunc = std::function<size_t()> |
Returns amount of free memory on GPU.
using MR::CudaAccessor::CudaFwnConstructor = std::function<std::unique_ptr<IFastWindingNumber>( const Mesh& )> |
Returns specific implementation of IFastWindingNumber interface that computes windings on GPU.
using MR::CudaAccessor::CudaMeshProjectorConstructor = std::function<std::unique_ptr<IPointsToMeshProjector>()> |
Returns specific implementation of IPointsToMeshProjector interface projects on GPU.
using MR::CudaAccessor::CudaPointsToDistanceVolumeCallback = std::function<Expected<SimpleVolumeMinMax>( const PointCloud& cloud, const PointsToDistanceVolumeParams& params )> |
|
staticnodiscard |
returns amount of required GPU memory for CudaFastWindingNumber internal data,
mesh | input mesh |
|
staticnodiscard |
returns amount of required GPU memory for CudaFastWindingNumber::calcFromGrid and CudaFastWindingNumber::calcFromGridWithDistances operations,
dims | dimensions of the grid |
|
staticnodiscard |
returns amount of required GPU memory for CudaFastWindingNumber::calcFromVector operation
inputSize | size of input vector |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
|
staticnodiscard |
returns amount of required GPU memory for CudaFastWindingNumber::calcSelfIntersections operation
mesh | input mesh |
|
static |
|
static |
|
static |
|
static |
|
static |