performance: increase USM pool sizes

Related-To: NEO-16045

Also, unify pool config parameters and
reduce pool size for ULTs.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
Szymon Morek
2025-09-16 10:44:36 +00:00
committed by Compute-Runtime-Automation
parent c33fb25143
commit 6b37243bfa
19 changed files with 82 additions and 103 deletions

View File

@@ -19,6 +19,7 @@ set(NEO_SHARED_DLLS
${CMAKE_CURRENT_SOURCE_DIR}/create_command_stream.cpp
${CMAKE_CURRENT_SOURCE_DIR}/options_dll.cpp
${CMAKE_CURRENT_SOURCE_DIR}/get_staging_buffer_size.cpp
${CMAKE_CURRENT_SOURCE_DIR}/usm_pool_size.cpp
)
add_library(neo_shared_dlls_precompiled_objects OBJECT ${NEO_SHARED_DLLS})

View File

@@ -0,0 +1,15 @@
/*
* Copyright (C) 2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/helpers/constants.h"
#include "shared/source/memory_manager/usm_pool_params.h"
namespace NEO {
size_t UsmPoolParams::getUsmPoolSize() {
return 32 * MemoryConstants::megaByte;
}
} // namespace NEO

View File

@@ -65,6 +65,8 @@ set(NEO_CORE_MEMORY_MANAGER
${CMAKE_CURRENT_SOURCE_DIR}/page_table.inl
${CMAKE_CURRENT_SOURCE_DIR}/prefetch_manager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/prefetch_manager.h
${CMAKE_CURRENT_SOURCE_DIR}/usm_pool_params.h
${CMAKE_CURRENT_SOURCE_DIR}/usm_pool_params.cpp
)
if(ENABLE_DYNAMIC_MEMORY_TRACKING)

View File

@@ -0,0 +1,19 @@
/*
* Copyright (C) 2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/memory_manager/usm_pool_params.h"
#include "shared/source/helpers/constants.h"
namespace NEO {
UsmPoolParams UsmPoolParams::getUsmPoolParams() {
return {
.poolSize = UsmPoolParams::getUsmPoolSize(),
.minServicedSize = 0u,
.maxServicedSize = 2 * MemoryConstants::megaByte};
}
} // namespace NEO

View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) 2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <cstddef>
namespace NEO {
struct UsmPoolParams {
size_t poolSize{0};
size_t minServicedSize{0};
size_t maxServicedSize{0};
static UsmPoolParams getUsmPoolParams();
static size_t getUsmPoolSize();
};
} // namespace NEO

View File

@@ -210,6 +210,7 @@ set(neo_libult_SRCS_LINUX
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/setup_external_dependencies_${DRIVER_MODEL}.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/sys_calls_linux_ult.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_get_staging_buffer_size.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_usm_pool_size.cpp
)
set_property(GLOBAL APPEND PROPERTY neo_libult_SRCS_LINUX ${neo_libult_SRCS_LINUX})
@@ -226,6 +227,7 @@ set(neo_libult_SRCS_WINDOWS
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/sys_calls_winmm.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/wddm_calls.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_get_staging_buffer_size.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_usm_pool_size.cpp
)
set_property(GLOBAL APPEND PROPERTY neo_libult_SRCS_WINDOWS ${neo_libult_SRCS_WINDOWS})

View File

@@ -0,0 +1,15 @@
/*
* Copyright (C) 2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/helpers/constants.h"
#include "shared/source/memory_manager/usm_pool_params.h"
namespace NEO {
size_t UsmPoolParams::getUsmPoolSize() {
return MemoryConstants::pageSize;
}
} // namespace NEO