MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCudaBasic.h
Go to the documentation of this file.
1#pragma once
2
3#include "exports.h"
4
5#include "MRMesh/MRMeshFwd.h"
6
7namespace MR
8{
11
12
13namespace Cuda
14{
15
21MRCUDA_API bool isCudaAvailable( int* driverVersion = nullptr, int* runtimeVersion = nullptr, int* computeMajor = nullptr, int* computeMinor = nullptr );
22
24MRCUDA_API size_t getCudaAvailableMemory();
25
27MRCUDA_API size_t getCudaSafeMemoryLimit();
28
30MRCUDA_API size_t maxBufferSize( size_t availableBytes, size_t elementCount, size_t elementBytes );
31
34MRCUDA_API size_t maxBufferSizeAlignedByBlock( size_t availableBytes, const Vector2i& blockDims, size_t elementBytes );
35MRCUDA_API size_t maxBufferSizeAlignedByBlock( size_t availableBytes, const Vector3i& blockDims, size_t elementBytes );
36
37}
38
39}
MRCUDA_API size_t getCudaSafeMemoryLimit()
Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers.
MRCUDA_API size_t maxBufferSize(size_t availableBytes, size_t elementCount, size_t elementBytes)
Returns maximum buffer size in elements that can be allocated with given memory limit.
MRCUDA_API bool isCudaAvailable(int *driverVersion=nullptr, int *runtimeVersion=nullptr, int *computeMajor=nullptr, int *computeMinor=nullptr)
MRCUDA_API size_t getCudaAvailableMemory()
Returns available GPU memory in bytes.
MRCUDA_API size_t maxBufferSizeAlignedByBlock(size_t availableBytes, const Vector2i &blockDims, size_t elementBytes)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8