SWDEV-240804 - Add hipMemAdvise() extension

Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance

Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
이 커밋은 다음에 포함됨:
German Andryeyev
2021-05-31 12:56:40 -04:00
부모 0714bdfbea
커밋 2b3a4e711b
2개의 변경된 파일과 11개의 추가작업 그리고 1개의 파일을 삭제
+7 -1
파일 보기
@@ -237,8 +237,14 @@ typedef enum hipMemoryAdvise {
hipMemAdviseUnsetPreferredLocation = 4, ///< Clear the preferred location for the data
hipMemAdviseSetAccessedBy = 5, ///< Data will be accessed by the specified device,
///< so prevent page faults as much as possible
hipMemAdviseUnsetAccessedBy = 6 ///< Let HIP to decide on the page faulting policy
hipMemAdviseUnsetAccessedBy = 6, ///< Let HIP to decide on the page faulting policy
///< for the specified device
hipMemAdviseSetCoarseGrain = 100, ///< The default memory model is fine-grain. That allows
///< coherent operations between host and device, while
///< executing kernels. The coarse-grain can be used
///< for data that only needs to be coherent at dispatch
///< boundaries for better performance.
hipMemAdviseUnsetCoarseGrain = 101 ///< Restores cache coherency policy back to fine-grain
} hipMemoryAdvise;
/*
+4
파일 보기
@@ -45,6 +45,10 @@ static_assert(static_cast<uint32_t>(hipMemAdviseSetAccessedBy) ==
amd::MemoryAdvice::SetAccessedBy, "Enum mismatch with ROCclr!");
static_assert(static_cast<uint32_t>(hipMemAdviseUnsetAccessedBy) ==
amd::MemoryAdvice::UnsetAccessedBy, "Enum mismatch with ROCclr!");
static_assert(static_cast<uint32_t>(hipMemAdviseSetCoarseGrain) ==
amd::MemoryAdvice::SetCoarseGrain, "Enum mismatch with ROCclr!");
static_assert(static_cast<uint32_t>(hipMemAdviseUnsetCoarseGrain) ==
amd::MemoryAdvice::UnsetCoarseGrain, "Enum mismatch with ROCclr!");
static_assert(static_cast<uint32_t>(hipMemRangeAttributeReadMostly) ==
amd::MemRangeAttribute::ReadMostly, "Enum mismatch with ROCclr!");