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
|
||||
} hipMemoryAdvise;
|
||||
|
||||
typedef enum hipMemRangeAttribute {
|
||||
hipMemRangeAttributeReadMostly,
|
||||
hipMemRangeAttributePreferredLocation,
|
||||
hipMemRangeAttributeAccessedBy,
|
||||
hipMemRangeAttributeLastPrefetchLocation
|
||||
} hipMemRangeAttribute;
|
||||
|
||||
// hipDataType
|
||||
#define hipDataType cudaDataType
|
||||
#define HIP_R_16F CUDA_R_16F
|
||||
@@ -228,6 +221,13 @@ typedef enum cudaChannelFormatKind hipChannelFormatKind;
|
||||
#define hipChannelFormatKindFloat cudaChannelFormatKindFloat
|
||||
#define hipChannelFormatKindNone cudaChannelFormatKindNone
|
||||
|
||||
// hipMemRangeAttribute
|
||||
typedef enum cudaMemRangeAttribute hipMemRangeAttribute;
|
||||
#define hipMemRangeAttributeReadMostly cudaMemRangeAttributeReadMostly
|
||||
#define hipMemRangeAttributePreferredLocation cudaMemRangeAttributePreferredLocation
|
||||
#define hipMemRangeAttributeAccessedBy cudaMemRangeAttributeAccessedBy
|
||||
#define hipMemRangeAttributeLastPrefetchLocation cudaMemRangeAttributeLastPrefetchLocation
|
||||
|
||||
#define hipSurfaceBoundaryMode cudaSurfaceBoundaryMode
|
||||
#define hipBoundaryModeZero cudaBoundaryModeZero
|
||||
#define hipBoundaryModeTrap cudaBoundaryModeTrap
|
||||
@@ -826,7 +826,7 @@ inline static enum cudaTextureAddressMode hipTextureAddressModeToCudaTextureAddr
|
||||
}
|
||||
}
|
||||
|
||||
inline static enum cudaMemRangeAttribute hipMemRangeAttributeTocudaMemRangeAttribute(
|
||||
inline static enum cudaMemRangeAttribute hipMemRangeAttributeToCudaMemRangeAttribute(
|
||||
hipMemRangeAttribute kind) {
|
||||
switch (kind) {
|
||||
case hipMemRangeAttributeReadMostly:
|
||||
@@ -973,15 +973,14 @@ inline static hipError_t hipMemRangeGetAttribute(void* data, size_t data_size,
|
||||
hipMemRangeAttribute attribute,
|
||||
const void* dev_ptr, size_t count) {
|
||||
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,
|
||||
hipMemRangeAttribute* attributes,
|
||||
size_t num_attributes, const void* dev_ptr,
|
||||
size_t count) {
|
||||
auto attrs = hipMemRangeAttributeTocudaMemRangeAttribute(*attributes);
|
||||
return hipCUDAErrorTohipError(cudaMemRangeGetAttributes(data, data_sizes, &attrs,
|
||||
return hipCUDAErrorTohipError(cudaMemRangeGetAttributes(data, data_sizes, attributes,
|
||||
num_attributes, dev_ptr, count));
|
||||
}
|
||||
|
||||
|
||||
مرجع در شماره جدید
Block a user