feature: Introduce ULLS light

Add core implementation of ULLS without VM_BIND interface aka ULLS
light.

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2025-02-11 14:31:01 +00:00
committed by Compute-Runtime-Automation
parent 488ac4bb6a
commit bc2b49b958
23 changed files with 293 additions and 62 deletions

View File

@@ -1674,6 +1674,15 @@ std::vector<GraphicsAllocation *> &DrmMemoryManager::getLocalMemAllocs(uint32_t
}
bool DrmMemoryManager::makeAllocationResident(GraphicsAllocation *allocation) {
auto rootDeviceIndex = allocation->getRootDeviceIndex();
auto memoryOperationsInterface = static_cast<DrmMemoryOperationsHandler *>(executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface.get());
const auto &engines = this->getRegisteredEngines(rootDeviceIndex);
for (const auto engine : engines) {
if (engine.osContext->isDirectSubmissionLightActive()) {
memoryOperationsInterface->makeResidentWithinOsContext(engine.osContext, ArrayRef<NEO::GraphicsAllocation *>(&allocation, 1), false, false);
}
}
if (debugManager.flags.MakeEachAllocationResident.get() == 1) {
auto drmAllocation = static_cast<DrmAllocation *>(allocation);
auto rootDeviceIndex = allocation->getRootDeviceIndex();