diff options
Diffstat (limited to 'cuda/3d/mem3d.cu')
| -rw-r--r-- | cuda/3d/mem3d.cu | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/cuda/3d/mem3d.cu b/cuda/3d/mem3d.cu index d09c203..9a239da 100644 --- a/cuda/3d/mem3d.cu +++ b/cuda/3d/mem3d.cu @@ -62,6 +62,25 @@ size_t availableGPUMemory()  	return free;  } +int maxBlockDimension() +{ +	int dev; +	cudaError_t err = cudaGetDevice(&dev); +	if (err != cudaSuccess) { +		ASTRA_WARN("Error querying device"); +		return 0; +	} + +	cudaDeviceProp props; +	err = cudaGetDeviceProperties(&props, dev); +	if (err != cudaSuccess) { +		ASTRA_WARN("Error querying device %d properties", dev); +		return 0; +	} + +	return std::min(props.maxTexture3D[0], std::min(props.maxTexture3D[1], props.maxTexture3D[2])); +} +  MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Mem3DZeroMode zero)  {  	SMemHandle3D_internal hnd; | 
