mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
fix: add option to enable/disable heapless in ocloc
Related-To: GSD-10681 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b10c6b4703
commit
7c3468794e
@@ -1075,6 +1075,19 @@ int OfflineCompiler::parseCommandLine(size_t numArgs, const std::vector<std::str
|
||||
} else if ("-stateful_address_mode" == currArg) {
|
||||
addressingMode = argv[argIndex + 1];
|
||||
argIndex++;
|
||||
} else if (("-heapless_mode" == currArg) && hasMoreArgs) {
|
||||
if (argv[argIndex + 1] == "enable") {
|
||||
heaplessMode = CompilerOptions::HeaplessMode::enabled;
|
||||
} else if (argv[argIndex + 1] == "disable") {
|
||||
heaplessMode = CompilerOptions::HeaplessMode::disabled;
|
||||
} else if (argv[argIndex + 1] == "default") {
|
||||
heaplessMode = CompilerOptions::HeaplessMode::defaultMode;
|
||||
} else {
|
||||
argHelper->printf("Error: Invalid heapless mode.\n");
|
||||
retVal = OCLOC_INVALID_COMMAND_LINE;
|
||||
break;
|
||||
}
|
||||
argIndex++;
|
||||
} else if (("-config" == currArg) && hasMoreArgs) {
|
||||
parseHwInfoConfigString(argv[argIndex + 1], hwInfoConfig);
|
||||
if (!hwInfoConfig) {
|
||||
@@ -1189,7 +1202,7 @@ void OfflineCompiler::appendExtraInternalOptions(std::string &internalOptions) {
|
||||
}
|
||||
|
||||
CompilerOptions::concatenateAppend(internalOptions, compilerProductHelper->getCachingPolicyOptions(false));
|
||||
CompilerOptions::applyExtraInternalOptions(internalOptions, *compilerProductHelper);
|
||||
CompilerOptions::applyExtraInternalOptions(internalOptions, *compilerProductHelper, this->heaplessMode);
|
||||
}
|
||||
|
||||
void OfflineCompiler::parseDebugSettings() {
|
||||
@@ -1412,6 +1425,11 @@ Usage: ocloc [compile] -file <filename> -device <device_type> [-output <filename
|
||||
-stateful_address_mode default - default mode
|
||||
not defined: default mode.
|
||||
|
||||
-heapless_mode Enforce heapless mode for the binary. The possible values are:
|
||||
-heapless_mode enable - enforce generating in heapless mode
|
||||
-heapless_mode disable - enforce generating in heapful mode
|
||||
-heapless_mode default - default mode for current platform
|
||||
|
||||
-config Target hardware info config for a single device,
|
||||
e.g 1x4x8.
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "shared/offline_compiler/source/ocloc_api.h"
|
||||
#include "shared/source/compiler_interface/compiler_options.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
#include "shared/source/utilities/arrayref.h"
|
||||
@@ -199,6 +200,7 @@ All supported acronyms: %s.
|
||||
std::string internalOptionsReadFromFile = "";
|
||||
std::string formatToEnforce = "";
|
||||
std::string addressingMode = "default";
|
||||
CompilerOptions::HeaplessMode heaplessMode = CompilerOptions::HeaplessMode::defaultMode;
|
||||
std::string irHash, genHash, dbgHash, elfHash;
|
||||
std::string cacheDir;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user