SWDEV-283388 - Fix hipMemRangeGetAttributes on Nvidia Platform
Change-Id: I5daeacd9dd5c6ce7f914d6e6e45dd41fb2a675a5 hipMemRangeGetAttributes was returning hipErrorInvalidValue due to improper mapping of the arguments to cudaMemRangeGetAttributes.
This commit is contained in:
@@ -72,13 +72,6 @@ typedef enum hipMemoryAdvise {
|
|||||||
hipMemAdviseUnsetAccessedBy
|
hipMemAdviseUnsetAccessedBy
|
||||||
} hipMemoryAdvise;
|
} hipMemoryAdvise;
|
||||||
|
|
||||||
typedef enum hipMemRangeAttribute {
|
|
||||||
hipMemRangeAttributeReadMostly,
|
|
||||||
hipMemRangeAttributePreferredLocation,
|
|
||||||
hipMemRangeAttributeAccessedBy,
|
|
||||||
hipMemRangeAttributeLastPrefetchLocation
|
|
||||||
} hipMemRangeAttribute;
|
|
||||||
|
|
||||||
// hipDataType
|
// hipDataType
|
||||||
#define hipDataType cudaDataType
|
#define hipDataType cudaDataType
|
||||||
#define HIP_R_16F CUDA_R_16F
|
#define HIP_R_16F CUDA_R_16F
|
||||||
@@ -228,6 +221,13 @@ typedef enum cudaChannelFormatKind hipChannelFormatKind;
|
|||||||
#define hipChannelFormatKindFloat cudaChannelFormatKindFloat
|
#define hipChannelFormatKindFloat cudaChannelFormatKindFloat
|
||||||
#define hipChannelFormatKindNone cudaChannelFormatKindNone
|
#define hipChannelFormatKindNone cudaChannelFormatKindNone
|
||||||
|
|
||||||
|
// hipMemRangeAttribute
|
||||||
|
typedef enum cudaMemRangeAttribute hipMemRangeAttribute;
|
||||||
|
#define hipMemRangeAttributeReadMostly cudaMemRangeAttributeReadMostly
|
||||||
|
#define hipMemRangeAttributePreferredLocation cudaMemRangeAttributePreferredLocation
|
||||||
|
#define hipMemRangeAttributeAccessedBy cudaMemRangeAttributeAccessedBy
|
||||||
|
#define hipMemRangeAttributeLastPrefetchLocation cudaMemRangeAttributeLastPrefetchLocation
|
||||||
|
|
||||||
#define hipSurfaceBoundaryMode cudaSurfaceBoundaryMode
|
#define hipSurfaceBoundaryMode cudaSurfaceBoundaryMode
|
||||||
#define hipBoundaryModeZero cudaBoundaryModeZero
|
#define hipBoundaryModeZero cudaBoundaryModeZero
|
||||||
#define hipBoundaryModeTrap cudaBoundaryModeTrap
|
#define hipBoundaryModeTrap cudaBoundaryModeTrap
|
||||||
@@ -826,7 +826,7 @@ inline static enum cudaTextureAddressMode hipTextureAddressModeToCudaTextureAddr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static enum cudaMemRangeAttribute hipMemRangeAttributeTocudaMemRangeAttribute(
|
inline static enum cudaMemRangeAttribute hipMemRangeAttributeToCudaMemRangeAttribute(
|
||||||
hipMemRangeAttribute kind) {
|
hipMemRangeAttribute kind) {
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case hipMemRangeAttributeReadMostly:
|
case hipMemRangeAttributeReadMostly:
|
||||||
@@ -973,15 +973,14 @@ inline static hipError_t hipMemRangeGetAttribute(void* data, size_t data_size,
|
|||||||
hipMemRangeAttribute attribute,
|
hipMemRangeAttribute attribute,
|
||||||
const void* dev_ptr, size_t count) {
|
const void* dev_ptr, size_t count) {
|
||||||
return hipCUDAErrorTohipError(cudaMemRangeGetAttribute(data, data_size,
|
return hipCUDAErrorTohipError(cudaMemRangeGetAttribute(data, data_size,
|
||||||
hipMemRangeAttributeTocudaMemRangeAttribute(attribute), dev_ptr, count));
|
hipMemRangeAttributeToCudaMemRangeAttribute(attribute), dev_ptr, count));
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static hipError_t hipMemRangeGetAttributes(void** data, size_t* data_sizes,
|
inline static hipError_t hipMemRangeGetAttributes(void** data, size_t* data_sizes,
|
||||||
hipMemRangeAttribute* attributes,
|
hipMemRangeAttribute* attributes,
|
||||||
size_t num_attributes, const void* dev_ptr,
|
size_t num_attributes, const void* dev_ptr,
|
||||||
size_t count) {
|
size_t count) {
|
||||||
auto attrs = hipMemRangeAttributeTocudaMemRangeAttribute(*attributes);
|
return hipCUDAErrorTohipError(cudaMemRangeGetAttributes(data, data_sizes, attributes,
|
||||||
return hipCUDAErrorTohipError(cudaMemRangeGetAttributes(data, data_sizes, &attrs,
|
|
||||||
num_attributes, dev_ptr, count));
|
num_attributes, dev_ptr, count));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user