mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Force stateless compilation when device supports shared system memory
Change-Id: I8e11ef82baf010a9a400bc9d733b8ec37a9fbb21 Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
849ff8c6d1
commit
46b3012eb5
@ -74,7 +74,8 @@ Program::Program(ExecutionEnvironment &executionEnvironment, Context *context, b
|
||||
internalOptions += "-m32 ";
|
||||
}
|
||||
|
||||
if (DebugManager.flags.DisableStatelessToStatefulOptimization.get()) {
|
||||
if (pDevice->areSharedSystemAllocationsAllowed() ||
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.get()) {
|
||||
internalOptions += "-cl-intel-greater-than-4GB-buffer-required ";
|
||||
}
|
||||
kernelDebugEnabled = pDevice->isSourceLevelDebuggerActive();
|
||||
|
@ -1745,7 +1745,7 @@ TEST_F(ProgramTests, ProgramCtorSetsProperInternalOptionsForced20) {
|
||||
|
||||
TEST_F(ProgramTests, ProgramCtorSetsProperInternalOptionsWhenStatelessToStatefulIsDisabled) {
|
||||
cl_int retVal = CL_DEVICE_NOT_FOUND;
|
||||
auto defaultSetting = DebugManager.flags.DisableStatelessToStatefulOptimization.get();
|
||||
DebugManagerStateRestore restorer;
|
||||
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.set(true);
|
||||
if (pDevice) {
|
||||
@ -1768,7 +1768,12 @@ TEST_F(ProgramTests, ProgramCtorSetsProperInternalOptionsWhenStatelessToStateful
|
||||
} else {
|
||||
EXPECT_NE(CL_DEVICE_NOT_FOUND, retVal);
|
||||
}
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.set(defaultSetting);
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenDeviceThatSupportsSharedSystemMemoryAllocationWhenProgramIsCompiledThenItForcesStatelessCompilation) {
|
||||
pDevice->deviceInfo.sharedSystemMemCapabilities = CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL | CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL | CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL | CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL;
|
||||
MockProgram program(*pDevice->getExecutionEnvironment(), pContext, false);
|
||||
EXPECT_THAT(program.getInternalOptions(), testing::HasSubstr(std::string("-cl-intel-greater-than-4GB-buffer-required")));
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, ProgramCtorSetsProperInternalOptionsWhenForcing32BitAddressess) {
|
||||
|
Reference in New Issue
Block a user