Enable Opencl 3.0 support on TGLLP
Related-To: NEO-4368 Change-Id: I59e015ee28d29eab4aaf8781ac1ffb3a9cde4d09 Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
parent
8529775429
commit
41fef1c71e
|
@ -1,5 +1,5 @@
|
|||
#!groovy
|
||||
dependenciesRevision='2016dec18656a06fbc3608d55f91577f89936522-1414'
|
||||
strategy='EQUAL'
|
||||
allowedCD=257
|
||||
allowedCD=256
|
||||
allowedF=21
|
||||
|
|
|
@ -48,7 +48,7 @@ const RuntimeCapabilityTable TGLLP::capabilityTable{
|
|||
PreemptionMode::ThreadGroup, // defaultPreemptionMode
|
||||
aub_stream::ENGINE_CCS, // defaultEngineType
|
||||
0, // maxRenderFrequency
|
||||
21, // clVersionSupport
|
||||
30, // clVersionSupport
|
||||
CmdServicesMemTraceVersion::DeviceValues::Tgllp, // aubDeviceId
|
||||
1, // extraQuantityThreadsPerEU
|
||||
64, // slmSize
|
||||
|
|
|
@ -60,16 +60,13 @@ Program::Program(ExecutionEnvironment &executionEnvironment, Context *context, b
|
|||
}
|
||||
|
||||
numDevices = 1;
|
||||
char paramValue[32] = {};
|
||||
bool force32BitAddressess = false;
|
||||
|
||||
if (pClDevice) {
|
||||
pClDevice->getDeviceInfo(CL_DEVICE_VERSION, 32, paramValue, nullptr);
|
||||
if (strstr(paramValue, "2.1")) {
|
||||
auto areOcl21FeaturesEnabled = pClDevice->areOcl21FeaturesEnabled();
|
||||
if (areOcl21FeaturesEnabled) {
|
||||
internalOptions = "-ocl-version=210 ";
|
||||
} else if (strstr(paramValue, "2.0")) {
|
||||
internalOptions = "-ocl-version=200 ";
|
||||
} else if (strstr(paramValue, "1.2")) {
|
||||
} else {
|
||||
internalOptions = "-ocl-version=120 ";
|
||||
}
|
||||
force32BitAddressess = pClDevice->getSharedDeviceInfo().force32BitAddressess;
|
||||
|
|
|
@ -14,10 +14,10 @@ using namespace NEO;
|
|||
|
||||
typedef Test<DeviceFixture> Gen12LpDeviceCaps;
|
||||
|
||||
GEN12LPTEST_F(Gen12LpDeviceCaps, reportsOcl21) {
|
||||
TGLLPTEST_F(Gen12LpDeviceCaps, givenGen12LpDeviceWhenQueryingDeviceInfoThenOcl30IsReported) {
|
||||
const auto &caps = pClDevice->getDeviceInfo();
|
||||
EXPECT_STREQ("OpenCL 2.1 NEO ", caps.clVersion);
|
||||
EXPECT_STREQ("OpenCL C 2.0 ", caps.clCVersion);
|
||||
EXPECT_STREQ("OpenCL 3.0 NEO ", caps.clVersion);
|
||||
EXPECT_STREQ("OpenCL C 3.0 ", caps.clCVersion);
|
||||
}
|
||||
|
||||
TGLLPTEST_F(Gen12LpDeviceCaps, lpSkusDontSupportFP64) {
|
||||
|
|
|
@ -1555,54 +1555,33 @@ INSTANTIATE_TEST_CASE_P(ProgramFromSourceTests,
|
|||
::testing::ValuesIn(KernelNames)));
|
||||
|
||||
TEST_F(ProgramTests, WhenProgramIsCreatedThenCorrectOclVersionIsInOptions) {
|
||||
auto defaultSetting = DebugManager.flags.DisableStatelessToStatefulOptimization.get();
|
||||
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.set(false);
|
||||
|
||||
MockProgram program(*pDevice->getExecutionEnvironment(), pContext, false, pDevice);
|
||||
char paramValue[32];
|
||||
pClDevice->getDeviceInfo(CL_DEVICE_VERSION, 32, paramValue, 0);
|
||||
if (strstr(paramValue, "2.1")) {
|
||||
if (pClDevice->areOcl21FeaturesEnabled()) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=210")) << program.getInternalOptions();
|
||||
} else if (strstr(paramValue, "2.0")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=200")) << program.getInternalOptions();
|
||||
} else if (strstr(paramValue, "1.2")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
} else {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=000")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
}
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.set(defaultSetting);
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, GivenForced20WhenProgramIsCreatedThenOcl20IsInOptions) {
|
||||
auto defaultVersion = pClDevice->deviceInfo.clVersion;
|
||||
|
||||
pClDevice->deviceInfo.clVersion = "OpenCL 2.0";
|
||||
TEST_F(ProgramTests, GivenOcl21FeaturesEnabledWhenProgramIsCreatedThenOcl21IsInOptions) {
|
||||
pClDevice->ocl21FeaturesEnabled = true;
|
||||
MockProgram program(*pDevice->getExecutionEnvironment(), pContext, false, pDevice);
|
||||
char paramValue[32];
|
||||
pClDevice->getDeviceInfo(CL_DEVICE_VERSION, 32, paramValue, 0);
|
||||
EXPECT_STREQ("OpenCL 2.0", paramValue);
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=200"));
|
||||
pClDevice->deviceInfo.clVersion = defaultVersion;
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=210"));
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, GivenStatelessToStatefulIsDisabledWhenProgramIsCreatedThenGreaterThan4gbBuffersRequiredOptionIsSet) {
|
||||
DebugManagerStateRestore restorer;
|
||||
|
||||
DebugManager.flags.DisableStatelessToStatefulOptimization.set(true);
|
||||
|
||||
MockProgram program(*pDevice->getExecutionEnvironment(), pContext, false, pDevice);
|
||||
char paramValue[32];
|
||||
pClDevice->getDeviceInfo(CL_DEVICE_VERSION, 32, paramValue, 0);
|
||||
if (strstr(paramValue, "2.1")) {
|
||||
if (pClDevice->areOcl21FeaturesEnabled()) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=210")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), NEO::CompilerOptions::greaterThan4gbBuffersRequired));
|
||||
} else if (strstr(paramValue, "2.0")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=200")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), NEO::CompilerOptions::greaterThan4gbBuffersRequired));
|
||||
} else if (strstr(paramValue, "1.2")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), NEO::CompilerOptions::greaterThan4gbBuffersRequired));
|
||||
} else {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=000")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), NEO::CompilerOptions::greaterThan4gbBuffersRequired));
|
||||
}
|
||||
}
|
||||
|
@ -1658,16 +1637,10 @@ TEST_F(ProgramTests, GivenForce32BitAddressessWhenProgramIsCreatedThenGreaterTha
|
|||
if (pDevice) {
|
||||
const_cast<DeviceInfo *>(&pDevice->getDeviceInfo())->force32BitAddressess = true;
|
||||
MockProgram program(*pDevice->getExecutionEnvironment(), pContext, false, pDevice);
|
||||
char paramValue[32];
|
||||
pClDevice->getDeviceInfo(CL_DEVICE_VERSION, 32, paramValue, 0);
|
||||
if (strstr(paramValue, "2.1")) {
|
||||
if (pClDevice->areOcl21FeaturesEnabled()) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=210")) << program.getInternalOptions();
|
||||
} else if (strstr(paramValue, "2.0")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=200")) << program.getInternalOptions();
|
||||
} else if (strstr(paramValue, "1.2")) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
} else {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=000")) << program.getInternalOptions();
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), "-ocl-version=120")) << program.getInternalOptions();
|
||||
}
|
||||
if (pDevice->areSharedSystemAllocationsAllowed()) {
|
||||
EXPECT_TRUE(CompilerOptions::contains(program.getInternalOptions(), CompilerOptions::greaterThan4gbBuffersRequired)) << program.getInternalOptions();
|
||||
|
|
Loading…
Reference in New Issue