Set alignment for SVM_CPU properties on xe_hpc and later
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
parent
7d202c7871
commit
dbc6ac2743
|
@ -490,7 +490,7 @@ void *SVMAllocsManager::createUnifiedAllocationWithDeviceStorage(size_t size, co
|
|||
alignedSize, AllocationType::SVM_CPU,
|
||||
false, // isMultiStorageAllocation
|
||||
subDevices};
|
||||
cpuProperties.alignment = MemoryConstants::pageSize2Mb;
|
||||
cpuProperties.alignment = memoryManager->peekExecutionEnvironment().rootDeviceEnvironments[rootDeviceIndex]->getHwInfoConfig().getSvmCpuAlignment();
|
||||
cpuProperties.flags.isUSMHostAllocation = useExternalHostPtrForCpu;
|
||||
auto cacheRegion = MemoryPropertiesHelper::getCacheRegion(unifiedMemoryProperties.allocationFlags);
|
||||
MemoryPropertiesHelper::fillCachePolicyInProperties(cpuProperties, false, svmProperties.readOnly, false, cacheRegion);
|
||||
|
|
|
@ -121,6 +121,7 @@ class HwInfoConfig {
|
|||
virtual bool isCopyEngineSelectorEnabled(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isAdjustProgrammableIdPreferredSlmSizeRequired(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual uint32_t getThreadEuRatioForScratch(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual size_t getSvmCpuAlignment() const = 0;
|
||||
virtual bool isComputeDispatchAllWalkerEnableInCfeStateRequired(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isVmBindPatIndexProgrammingSupported() const = 0;
|
||||
virtual bool isBFloat16ConversionSupported(const HardwareInfo &hwInfo) const = 0;
|
||||
|
@ -262,6 +263,7 @@ class HwInfoConfigHw : public HwInfoConfig {
|
|||
bool isGlobalFenceInDirectSubmissionRequired(const HardwareInfo &hwInfo) const override;
|
||||
bool isAdjustProgrammableIdPreferredSlmSizeRequired(const HardwareInfo &hwInfo) const override;
|
||||
uint32_t getThreadEuRatioForScratch(const HardwareInfo &hwInfo) const override;
|
||||
size_t getSvmCpuAlignment() const override;
|
||||
bool isComputeDispatchAllWalkerEnableInCfeStateRequired(const HardwareInfo &hwInfo) const override;
|
||||
bool isVmBindPatIndexProgrammingSupported() const override;
|
||||
bool isBFloat16ConversionSupported(const HardwareInfo &hwInfo) const override;
|
||||
|
|
|
@ -399,6 +399,11 @@ uint32_t HwInfoConfigHw<gfxProduct>::getThreadEuRatioForScratch(const HardwareIn
|
|||
return 8u;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
size_t HwInfoConfigHw<gfxProduct>::getSvmCpuAlignment() const {
|
||||
return MemoryConstants::pageSize2Mb;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool HwInfoConfigHw<gfxProduct>::isComputeDispatchAllWalkerEnableInCfeStateRequired(const HardwareInfo &hwInfo) const {
|
||||
return getFrontEndPropertyComputeDispatchAllWalkerSupport();
|
||||
|
|
|
@ -9,3 +9,8 @@ template <>
|
|||
bool HwInfoConfigHw<gfxProduct>::isVmBindPatIndexProgrammingSupported() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template <>
|
||||
size_t HwInfoConfigHw<gfxProduct>::getSvmCpuAlignment() const {
|
||||
return MemoryConstants::pageSize64k;
|
||||
}
|
|
@ -34,6 +34,10 @@ PVCTEST_F(PvcProductHelperLinux, WhenConfiguringHwInfoThenZeroIsReturned) {
|
|||
EXPECT_EQ(0, ret);
|
||||
}
|
||||
|
||||
PVCTEST_F(PvcProductHelperLinux, WhenGetSvmCpuAlignmentThenProperValueIsReturned) {
|
||||
EXPECT_EQ(MemoryConstants::pageSize64k, productHelper->getSvmCpuAlignment());
|
||||
}
|
||||
|
||||
PVCTEST_F(PvcProductHelperLinux, given57bAddressSpaceWhenConfiguringHwInfoThenSetFtrFlag) {
|
||||
|
||||
outHwInfo.featureTable.flags.ftr57bGPUAddressing = false;
|
||||
|
|
|
@ -248,6 +248,11 @@ DG2TEST_F(HwInfoConfigTestDg2, givenDg2WhenIsBlitterForImagesSupportedIsCalledTh
|
|||
EXPECT_TRUE(hwInfoConfig.isBlitterForImagesSupported());
|
||||
}
|
||||
|
||||
DG2TEST_F(HwInfoConfigTestDg2, WhenGetSvmCpuAlignmentThenProperValueIsReturned) {
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(productFamily);
|
||||
EXPECT_EQ(MemoryConstants::pageSize2Mb, hwInfoConfig.getSvmCpuAlignment());
|
||||
}
|
||||
|
||||
DG2TEST_F(HwInfoConfigTestDg2, givenB0rCSteppingWhenAskingIfTile64With3DSurfaceOnBCSIsSupportedThenReturnTrue) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
std::array<std::pair<uint32_t, bool>, 4> revisions = {
|
||||
|
|
Loading…
Reference in New Issue