Add FP64 emulation support for ATS-M

This patch adds FP64 emulation support for ATS-M.
Introducing new environment variable - NEO_FP64_EMULATION - which provides
an option to allow the opt-in emulation of FP64.
When emulation is enabled, we pass -cl-fp64-gen-emu (ocl) /
-ze-fp64-gen-emu (L0) as an internal option to IGC.

Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
This commit is contained in:
Fabian Zwolinski
2023-02-27 16:53:08 +00:00
committed by Compute-Runtime-Automation
parent 8a55d9b517
commit 6c59953072
38 changed files with 296 additions and 6 deletions

View File

@@ -87,13 +87,16 @@ cl_int CL_API_CALL clGetPlatformIDs(cl_uint numEntries,
auto executionEnvironment = new ClExecutionEnvironment();
executionEnvironment->incRefInternal();
NEO::EnvironmentVariableReader envReader;
if (NEO::DebugManager.flags.ExperimentalEnableL0DebuggerForOpenCL.get()) {
NEO::EnvironmentVariableReader envReader;
auto programDebugging = envReader.getSetting("ZET_ENABLE_PROGRAM_DEBUGGING", false);
if (programDebugging) {
executionEnvironment->setDebuggingEnabled();
}
}
if (envReader.getSetting("NEO_FP64_EMULATION", false)) {
executionEnvironment->setFP64EmulationEnabled();
}
auto allDevices = DeviceFactory::createDevices(*executionEnvironment);
executionEnvironment->decRefInternal();
if (allDevices.empty()) {