SWDEV-353941 - Fix hipMemset latency issue for hipMallocManaged

- In case of HMM, use blit kernel instead of CPU memcpy for hipMemset

Change-Id: I89bfc96ff01a2375ed8df1b1c6bc05357dea84f7
Этот коммит содержится в:
Rakesh Roy
2022-09-05 23:17:30 +05:30
коммит произвёл Rakesh Roy
родитель 94e8ded315
Коммит f097cda948
2 изменённых файлов: 22 добавлений и 2 удалений
+11 -1
Просмотреть файл
@@ -2296,8 +2296,18 @@ void VirtualGPU::submitFillMemory(amd::FillMemoryCommand& cmd) {
amd::ScopedLock lock(execution());
profilingBegin(cmd);
bool force_blit = false;
if (amd::IS_HIP) {
constexpr uint32_t kManagedAlloc = (CL_MEM_SVM_FINE_GRAIN_BUFFER | CL_MEM_ALLOC_HOST_PTR);
// In case of HMM, use blit kernel instead of CPU memcpy
if ((cmd.memory().getMemFlags() & kManagedAlloc) == kManagedAlloc) {
force_blit = true;
}
}
if (!fillMemory(cmd.type(), &cmd.memory(), cmd.pattern(), cmd.patternSize(),
cmd.surface(), cmd.origin(), cmd.size())) {
cmd.surface(), cmd.origin(), cmd.size(), force_blit)) {
cmd.setStatus(CL_INVALID_OPERATION);
}
profilingEnd(cmd);