SWDEV-510849 - Restore pinned memory copy path

1) Create getBuffer method to return pinned host memory or staging buffer
2) for D2H path use managed buffer instead of static buffer
3) use staging buffer copy for 16KB < size < 1MB
4) use pinned memory copy for size > 1MB

Change-Id: I13d4d6ab60691bc6c7724239db1e11e23f0f3dc2


[ROCm/clr commit: 4bf634dfca]
This commit is contained in:
Rahul Manocha
2025-01-21 16:31:24 -08:00
committato da Rahul Manocha
parent 7da5718afb
commit 90337103ac
3 ha cambiato i file con 236 aggiunte e 233 eliminazioni
@@ -117,7 +117,6 @@ bool Settings::create(bool fullProfile, const amd::Isa& isa,
apuSystem_ = true;
} else {
pinnedXferSize_ = std::max(pinnedXferSize_, pinnedMinXferSize_);
stagedXferSize_ = std::max(stagedXferSize_, pinnedMinXferSize_ + 4 * Ki);
}
enableXNACK_ = enableXNACK;
hsailExplicitXnack_ = enableXNACK;
@@ -209,10 +208,6 @@ void Settings::override() {
xferBufSize_ = GPU_XFER_BUFFER_SIZE * Ki;
}
if (!flagIsDefault(GPU_PINNED_MIN_XFER_SIZE)) {
pinnedMinXferSize_ = std::min(GPU_PINNED_MIN_XFER_SIZE * Ki, pinnedXferSize_);
}
if (!flagIsDefault(AMD_GPU_FORCE_SINGLE_FP_DENORM)) {
switch (AMD_GPU_FORCE_SINGLE_FP_DENORM) {
case 0: