mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Add getDevicesCount() to AubCenter
Change-Id: I1bb91fe3f1b3155790c7d7b20c7db687c7fcfa82
This commit is contained in:

committed by
sys_ocldev

parent
7201346810
commit
cb3e4eeb84
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -1,5 +1,5 @@
|
||||
#!groovy
|
||||
dependenciesRevision='0069cbdd1559b47c9de98ca934b334b12fa59703-1174'
|
||||
strategy='EQUAL'
|
||||
allowedCD=275
|
||||
allowedCD=274
|
||||
allowedF=4
|
||||
|
@ -13,7 +13,7 @@
|
||||
namespace OCLRT {
|
||||
AubCenter::AubCenter(const HardwareInfo *pHwInfo, bool localMemoryEnabled, const std::string &aubFileName) {
|
||||
if (DebugManager.flags.UseAubStream.get()) {
|
||||
auto devicesCount = DebugManager.flags.CreateMultipleDevices.get() > 0 ? DebugManager.flags.CreateMultipleDevices.get() : 1u;
|
||||
auto devicesCount = AubHelper::getDevicesCount(pHwInfo);
|
||||
auto memoryBankSizeInGB = AubHelper::getMemBankSizeInGigabytes();
|
||||
aubManager.reset(createAubManager(pHwInfo->pPlatform->eRenderCoreFamily, devicesCount, memoryBankSizeInGB, localMemoryEnabled, pHwInfo->capabilityTable.aubDeviceId, aubFileName));
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "runtime/aub/aub_helper.h"
|
||||
#include "runtime/aub_mem_dump/aub_mem_dump.h"
|
||||
#include "runtime/os_interface/debug_settings_manager.h"
|
||||
|
||||
namespace OCLRT {
|
||||
|
||||
@ -29,4 +30,8 @@ uint32_t AubHelper::getMemBankSizeInGigabytes() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
uint32_t AubHelper::getDevicesCount(const HardwareInfo *pHwInfo) {
|
||||
return DebugManager.flags.CreateMultipleDevices.get() > 0 ? DebugManager.flags.CreateMultipleDevices.get() : 1u;
|
||||
}
|
||||
|
||||
} // namespace OCLRT
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "runtime/helpers/hw_info.h"
|
||||
#include "runtime/helpers/properties_helper.h"
|
||||
#include "runtime/memory_manager/graphics_allocation.h"
|
||||
|
||||
@ -30,6 +31,7 @@ class AubHelper : public NonCopyableOrMovableClass {
|
||||
static void checkPTEAddress(uint64_t address);
|
||||
static uint32_t getMemType(uint32_t addressSpace);
|
||||
static uint32_t getMemBankSizeInGigabytes();
|
||||
static uint32_t getDevicesCount(const HardwareInfo *pHwInfo);
|
||||
|
||||
virtual int getDataHintForPml4Entry() const = 0;
|
||||
virtual int getDataHintForPdpEntry() const = 0;
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "runtime/aub_mem_dump/page_table_entry_bits.h"
|
||||
#include "runtime/command_stream/aub_command_stream_receiver_hw.h"
|
||||
#include "unit_tests/fixtures/device_fixture.h"
|
||||
#include "unit_tests/helpers/debug_manager_state_restore.h"
|
||||
#include "test.h"
|
||||
|
||||
using namespace OCLRT;
|
||||
@ -28,6 +29,24 @@ TEST(AubHelper, WhenGetPTEntryBitsIsCalledThenEntryBitsAreNotMasked) {
|
||||
EXPECT_EQ(entryBits, maskedEntryBits);
|
||||
}
|
||||
|
||||
TEST(AubHelper, WhenCreateMultipleDevicesIsSetThenGetDevicesCountReturnedCorrectValue) {
|
||||
DebugManagerStateRestore stateRestore;
|
||||
FeatureTable skuTable = {};
|
||||
WorkaroundTable waTable = {};
|
||||
RuntimeCapabilityTable capTable = {};
|
||||
GT_SYSTEM_INFO sysInfo = {};
|
||||
PLATFORM platform = {};
|
||||
HardwareInfo hwInfo{&platform, &skuTable, &waTable, &sysInfo, capTable};
|
||||
DebugManager.flags.CreateMultipleDevices.set(2);
|
||||
|
||||
uint32_t devicesCount = AubHelper::getDevicesCount(&hwInfo);
|
||||
EXPECT_EQ(devicesCount, 2u);
|
||||
|
||||
DebugManager.flags.CreateMultipleDevices.set(0);
|
||||
devicesCount = AubHelper::getDevicesCount(&hwInfo);
|
||||
EXPECT_EQ(devicesCount, 1u);
|
||||
}
|
||||
|
||||
typedef Test<DeviceFixture> AubHelperHwTest;
|
||||
|
||||
HWTEST_F(AubHelperHwTest, GivenDisabledLocalMemoryWhenGetDataHintForPml4EntryIsCalledThenTraceNotypeIsReturned) {
|
||||
@ -78,25 +97,25 @@ HWTEST_F(AubHelperHwTest, GivenDisabledLocalMemoryWhenGetMemTraceForPtEntryIsCal
|
||||
EXPECT_EQ(AubMemDump::AddressSpaceValues::TracePpgttEntry, addressSpace);
|
||||
}
|
||||
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPml4EntryIsCalledThenTraceNonlocalIsReturned) {
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPml4EntryIsCalledThenTraceLocalIsReturned) {
|
||||
AubHelperHw<FamilyType> aubHelper(true);
|
||||
int addressSpace = aubHelper.getMemTraceForPml4Entry();
|
||||
EXPECT_EQ(AubMemDump::AddressSpaceValues::TraceLocal, addressSpace);
|
||||
}
|
||||
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPdpEntryIsCalledThenTraceNonlocalIsReturned) {
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPdpEntryIsCalledThenTraceLocalIsReturned) {
|
||||
AubHelperHw<FamilyType> aubHelper(true);
|
||||
int addressSpace = aubHelper.getMemTraceForPdpEntry();
|
||||
EXPECT_EQ(AubMemDump::AddressSpaceValues::TraceLocal, addressSpace);
|
||||
}
|
||||
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPd4EntryIsCalledThenTraceNonlocalIsReturned) {
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPd4EntryIsCalledThenTraceLocalIsReturned) {
|
||||
AubHelperHw<FamilyType> aubHelper(true);
|
||||
int addressSpace = aubHelper.getMemTraceForPdEntry();
|
||||
EXPECT_EQ(AubMemDump::AddressSpaceValues::TraceLocal, addressSpace);
|
||||
}
|
||||
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPtEntryIsCalledThenTraceNonlocalIsReturned) {
|
||||
HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPtEntryIsCalledThenTraceLocalIsReturned) {
|
||||
AubHelperHw<FamilyType> aubHelper(true);
|
||||
int addressSpace = aubHelper.getMemTraceForPtEntry();
|
||||
EXPECT_EQ(AubMemDump::AddressSpaceValues::TraceLocal, addressSpace);
|
||||
|
Reference in New Issue
Block a user