ocloc refactor

Related-To: NEO-5538
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
This commit is contained in:
Artur Harasimiuk
2021-03-25 01:32:14 +01:00
committed by Compute-Runtime-Automation
parent a9ab9f0789
commit cee785f8a1
3 changed files with 23 additions and 11 deletions

View File

@@ -14,7 +14,7 @@ components:
infra: infra:
branch: infra branch: infra
dest_dir: infra dest_dir: infra
revision: 8b65692dfdec1cd8005986684ee509d1fd0afdc0 revision: 0cdf9d69ec5fc0fd12c49ac67b13cdd3417dbbc3
type: git type: git
internal: internal:
branch: master branch: master

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017-2020 Intel Corporation * Copyright (C) 2017-2021 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@@ -140,7 +140,9 @@ TEST_F(OclocFatBinaryGetTargetPlatformsForFatbinary, GivenGenThenReturnAllEnable
auto platform0 = allEnabledPlatforms[0]; auto platform0 = allEnabledPlatforms[0];
auto gfxCore0 = NEO::hardwareInfoTable[platform0]->platform.eRenderCoreFamily; auto gfxCore0 = NEO::hardwareInfoTable[platform0]->platform.eRenderCoreFamily;
std::string genName = NEO::familyName[gfxCore0]; std::string genName = NEO::familyName[gfxCore0];
genName[0] = 'g'; // ocloc uses lower case if (genName[0] == 'G') {
genName[0] = 'g';
}
std::vector<PRODUCT_FAMILY> platformsForGen; std::vector<PRODUCT_FAMILY> platformsForGen;
NEO::appendPlatformsForGfxCore(gfxCore0, allEnabledPlatforms, platformsForGen); NEO::appendPlatformsForGfxCore(gfxCore0, allEnabledPlatforms, platformsForGen);
@@ -235,7 +237,9 @@ TEST_F(OclocFatBinaryGetTargetPlatformsForFatbinary, GivenGenOpenRangeFromThenRe
} }
auto core0 = allEnabledCores[allEnabledCores.size() / 2]; auto core0 = allEnabledCores[allEnabledCores.size() / 2];
std::string genName = NEO::familyName[core0]; std::string genName = NEO::familyName[core0];
genName[0] = 'g'; // ocloc uses lower case if (genName[0] == 'G') {
genName[0] = 'g';
}
std::vector<PRODUCT_FAMILY> expectedPlatforms; std::vector<PRODUCT_FAMILY> expectedPlatforms;
unsigned int coreIt = core0; unsigned int coreIt = core0;
@@ -258,7 +262,9 @@ TEST_F(OclocFatBinaryGetTargetPlatformsForFatbinary, GivenGenOpenRangeToThenRetu
} }
auto core0 = allEnabledCores[allEnabledCores.size() / 2]; auto core0 = allEnabledCores[allEnabledCores.size() / 2];
std::string genName = NEO::familyName[core0]; std::string genName = NEO::familyName[core0];
genName[0] = 'g'; // ocloc uses lower case if (genName[0] == 'G') {
genName[0] = 'g';
}
std::vector<PRODUCT_FAMILY> expectedPlatforms; std::vector<PRODUCT_FAMILY> expectedPlatforms;
unsigned int coreIt = IGFX_UNKNOWN_CORE; unsigned int coreIt = IGFX_UNKNOWN_CORE;
@@ -282,9 +288,13 @@ TEST_F(OclocFatBinaryGetTargetPlatformsForFatbinary, GivenGenClosedRangeThenRetu
auto genFrom = allEnabledCores[1]; auto genFrom = allEnabledCores[1];
auto genTo = allEnabledCores[allEnabledCores.size() - 2]; auto genTo = allEnabledCores[allEnabledCores.size() - 2];
std::string genNameFrom = NEO::familyName[genFrom]; std::string genNameFrom = NEO::familyName[genFrom];
genNameFrom[0] = 'g'; if (genNameFrom[0] == 'G') {
genNameFrom[0] = 'g';
}
std::string genNameTo = NEO::familyName[genTo]; std::string genNameTo = NEO::familyName[genTo];
genNameTo[0] = 'g'; if (genNameTo[0] == 'G') {
genNameTo[0] = 'g';
}
std::vector<PRODUCT_FAMILY> expectedPlatforms; std::vector<PRODUCT_FAMILY> expectedPlatforms;
auto genIt = genFrom; auto genIt = genFrom;
@@ -352,7 +362,9 @@ TEST_F(OclocFatBinaryGetTargetPlatformsForFatbinary, GivenGenClosedRangeWhenAnyO
auto platform0 = allEnabledPlatforms[0]; auto platform0 = allEnabledPlatforms[0];
auto gfxCore0 = NEO::hardwareInfoTable[platform0]->platform.eRenderCoreFamily; auto gfxCore0 = NEO::hardwareInfoTable[platform0]->platform.eRenderCoreFamily;
std::string genName = NEO::familyName[gfxCore0]; std::string genName = NEO::familyName[gfxCore0];
genName[0] = 'g'; // ocloc uses lower case if (genName[0] == 'G') {
genName[0] = 'g';
}
auto got = NEO::getTargetPlatformsForFatbinary("gen2-" + genName, oclocArgHelperWithoutInput.get()); auto got = NEO::getTargetPlatformsForFatbinary("gen2-" + genName, oclocArgHelperWithoutInput.get());
EXPECT_TRUE(got.empty()); EXPECT_TRUE(got.empty());

View File

@@ -112,7 +112,7 @@ std::vector<ConstStringRef> getTargetPlatformsForFatbinary(ConstStringRef device
if (range.size() == 1) { if (range.size() == 1) {
// open range , from-max or min-to // open range , from-max or min-to
if (range[0].containsCaseInsensitive("gen")) { if (range[0].containsCaseInsensitive("gen") || range[0].startsWith("XE_")) {
auto coreIdList = asGfxCoreIdList(range[0]); auto coreIdList = asGfxCoreIdList(range[0]);
if (coreIdList.empty()) { if (coreIdList.empty()) {
argHelper->printf("Unknown device : %s\n", set.str().c_str()); argHelper->printf("Unknown device : %s\n", set.str().c_str());
@@ -152,8 +152,8 @@ std::vector<ConstStringRef> getTargetPlatformsForFatbinary(ConstStringRef device
} }
} }
} else { } else {
if (range[0].contains("gen")) { if (range[0].contains("gen") || range[0].startsWith("XE_")) {
if (false == range[1].contains("gen")) { if (false == range[1].contains("gen") && false == range[1].startsWith("XE_")) {
argHelper->printf("Ranges mixing platforms and gfxCores is not supported : %s - should be genFrom-genTo or platformFrom-platformTo\n", set.str().c_str()); argHelper->printf("Ranges mixing platforms and gfxCores is not supported : %s - should be genFrom-genTo or platformFrom-platformTo\n", set.str().c_str());
return {}; return {};
} }