@@ -89,12 +89,15 @@ ur_result_t setHipMemAdvise(const void *DevPtr, const size_t Size,
89
89
ur_usm_advice_flags_t URAdviceFlags,
90
90
hipDevice_t Device) {
91
91
// Handle unmapped memory advice flags
92
- // FIXME: Temporary use UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY and
93
- // UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY for controlling coarse-grain
94
- // memory until we introduce a new flag more appropriately. Add them back to
95
- // unsupported when that happens.
96
92
if (URAdviceFlags &
97
- (UR_USM_ADVICE_FLAG_BIAS_CACHED | UR_USM_ADVICE_FLAG_BIAS_UNCACHED)) {
93
+ (UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY |
94
+ UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY |
95
+ UR_USM_ADVICE_FLAG_BIAS_CACHED | UR_USM_ADVICE_FLAG_BIAS_UNCACHED
96
+ #if !defined(__HIP_PLATFORM_AMD__)
97
+ | UR_USM_ADVICE_FLAG_SET_NON_COHERENT_MEMORY |
98
+ UR_USM_ADVICE_FLAG_CLEAR_NON_COHERENT_MEMORY
99
+ #endif
100
+ )) {
98
101
return UR_RESULT_ERROR_INVALID_ENUMERATION;
99
102
}
100
103
@@ -120,9 +123,9 @@ ur_result_t setHipMemAdvise(const void *DevPtr, const size_t Size,
120
123
std::make_pair (UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE,
121
124
hipMemAdviseUnsetAccessedBy),
122
125
#if defined(__HIP_PLATFORM_AMD__)
123
- std::make_pair (UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY ,
126
+ std::make_pair (UR_USM_ADVICE_FLAG_SET_NON_COHERENT_MEMORY ,
124
127
hipMemAdviseSetCoarseGrain),
125
- std::make_pair (UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY ,
128
+ std::make_pair (UR_USM_ADVICE_FLAG_CLEAR_NON_COHERENT_MEMORY ,
126
129
hipMemAdviseUnsetCoarseGrain),
127
130
#endif
128
131
};
0 commit comments