Add Max Texture 1D,2D,3D device properties (#1226)

* Add Max Texture 1D,2D,3D device properties

* Corrected testcase to use enums defined in hipDeviceAttribute_t

* Added texture 1D,2D and 3D support for NVIDIA path


[ROCm/hip commit: 8e496c09d9]
This commit is contained in:
ansurya
2019-07-18 08:48:50 +05:30
committed by Maneesh Gupta
parent 358d9d311f
commit df4dee39f4
9 changed files with 99 additions and 20 deletions
+12 -1
View File
@@ -116,7 +116,10 @@ typedef struct hipDeviceProp_t {
int gcnArch; ///< AMD GCN Arch Value. Eg: 803, 701
int integrated; ///< APU vs dGPU
int cooperativeLaunch; ///< HIP device supports cooperative launch
int cooperativeMultiDeviceLaunch; ///< HIP device supports cooperative launch on multiple devices
int cooperativeMultiDeviceLaunch; ///< HIP device supports cooperative launch on multiple devices
int maxTexture1D; ///< Maximum number of elements in 1D images
int maxTexture2D[2]; ///< Maximum dimensions (width, height) of 2D images, in image elements
int maxTexture3D[3]; ///< Maximum dimensions (width, height, depth) of 3D images, in image elements
} hipDeviceProp_t;
@@ -295,6 +298,14 @@ typedef enum hipDeviceAttribute_t {
hipDeviceAttributeIntegrated, ///< iGPU
hipDeviceAttributeCooperativeLaunch, ///< Support cooperative launch
hipDeviceAttributeCooperativeMultiDeviceLaunch, ///< Support cooperative launch on multiple devices
hipDeviceAttributeMaxTexture1DWidth, ///< Maximum number of elements in 1D images
hipDeviceAttributeMaxTexture2DWidth, ///< Maximum dimension width of 2D images in image elements
hipDeviceAttributeMaxTexture2DHeight, ///< Maximum dimension height of 2D images in image elements
hipDeviceAttributeMaxTexture3DWidth, ///< Maximum dimension width of 3D images in image elements
hipDeviceAttributeMaxTexture3DHeight, ///< Maximum dimensions height of 3D images in image elements
hipDeviceAttributeMaxTexture3DDepth ///< Maximum dimensions depth of 3D images in image elements
} hipDeviceAttribute_t;
enum hipComputeMode {
@@ -772,6 +772,13 @@ inline static hipError_t hipGetDeviceProperties(hipDeviceProp_t* p_prop, int dev
p_prop->maxSharedMemoryPerMultiProcessor = cdprop.sharedMemPerMultiprocessor;
p_prop->isMultiGpuBoard = cdprop.isMultiGpuBoard;
p_prop->maxTexture1D = cdprop.maxTexture1D;
p_prop->maxTexture2D[0] = cdprop.maxTexture2D[0];
p_prop->maxTexture2D[1] = cdprop.maxTexture2D[1];
p_prop->maxTexture3D[0] = cdprop.maxTexture3D[0];
p_prop->maxTexture3D[1] = cdprop.maxTexture3D[1];
p_prop->maxTexture3D[2] = cdprop.maxTexture3D[2];
return hipCUDAErrorTohipError(cerror);
}
@@ -858,6 +865,24 @@ inline static hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t att
case hipDeviceAttributeIntegrated:
cdattr = cudaDevAttrIntegrated;
break;
case hipDeviceAttributeMaxTexture1DWidth:
cdattr = cudaDevAttrMaxTexture1DWidth;
break;
case hipDeviceAttributeMaxTexture2DWidth:
cdattr = cudaDevAttrMaxTexture2DWidth;
break;
case hipDeviceAttributeMaxTexture2DHeight:
cdattr = cudaDevAttrMaxTexture2DHeight;
break;
case hipDeviceAttributeMaxTexture3DWidth:
cdattr = cudaDevAttrMaxTexture3DWidth;
break;
case hipDeviceAttributeMaxTexture3DHeight:
cdattr = cudaDevAttrMaxTexture3DHeight;
break;
case hipDeviceAttributeMaxTexture3DDepth:
cdattr = cudaDevAttrMaxTexture3DDepth;
break;
default:
cerror = cudaErrorInvalidValue;
break;