SWDEV-268186 - OCL ReBar optimization
Change-Id: I69d8bce8d48a5b6f94a05272c83ee91fbec1688c
[ROCm/clr commit: aef4ab1fc8]
Этот коммит содержится в:
коммит произвёл
Julia Jiang
родитель
8edf4d9cd3
Коммит
7bb189c4c5
@@ -170,6 +170,7 @@ Settings::Settings() {
|
||||
disableSdma_ = PAL_DISABLE_SDMA;
|
||||
mallPolicy_ = 0;
|
||||
alwaysResident_ = amd::IS_HIP ? true : false;
|
||||
prepinnedMinSize_ = 0;
|
||||
}
|
||||
|
||||
bool Settings::create(const Pal::DeviceProperties& palProp,
|
||||
@@ -532,6 +533,11 @@ bool Settings::create(const Pal::DeviceProperties& palProp,
|
||||
break;
|
||||
}
|
||||
}
|
||||
// If is Rebar, override prepinned memory size.
|
||||
if ((heaps[Pal::GpuHeapInvisible].heapSize == 0) &&
|
||||
(heaps[Pal::GpuHeapLocal].heapSize > 256 * Mi)) {
|
||||
prepinnedMinSize_ = PAL_PREPINNED_MEMORY_SIZE * Ki;
|
||||
}
|
||||
|
||||
// Override current device settings
|
||||
override();
|
||||
|
||||
@@ -120,6 +120,8 @@ class Settings : public device::Settings {
|
||||
|
||||
amd::LibrarySelector libSelector_; //!< Select linking libraries for compiler
|
||||
|
||||
size_t prepinnedMinSize_; //!< minimal memory size for prepinned transfer
|
||||
|
||||
//! Default constructor
|
||||
Settings();
|
||||
|
||||
|
||||
@@ -1327,7 +1327,7 @@ void VirtualGPU::submitWriteMemory(amd::WriteMemoryCommand& vcmd) {
|
||||
origin.c[0] *= elemSize;
|
||||
size.c[0] *= elemSize;
|
||||
}
|
||||
if (hostMemory != nullptr) {
|
||||
if ((hostMemory != nullptr) && (vcmd.size()[0] > dev().settings().prepinnedMinSize_)){
|
||||
// Accelerated transfer without pinning
|
||||
amd::Coord3D srcOrigin(offset);
|
||||
result = blitMgr().copyBuffer(*hostMemory, *memory, srcOrigin, origin, size,
|
||||
|
||||
@@ -257,7 +257,9 @@ release(cstring, ROC_GLOBAL_CU_MASK, "", \
|
||||
"Sets a global CU mask (entered as hex value) for all queues," \
|
||||
"Each active bit represents using one CU (e.g., 0xf enables only 4 CUs)") \
|
||||
release(cstring, AMD_LOG_LEVEL_FILE, "", \
|
||||
"Set output file for AMD_LOG_LEVEL, Default is stderr")
|
||||
"Set output file for AMD_LOG_LEVEL, Default is stderr") \
|
||||
release(size_t, PAL_PREPINNED_MEMORY_SIZE, 64, \
|
||||
"Size in KBytes of prepinned memory")
|
||||
|
||||
namespace amd {
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user