From 1d5f2b6dacbbb54fe36841774db4ebba0c6d24ac Mon Sep 17 00:00:00 2001 From: foreman Date: Thu, 6 Sep 2018 15:37:37 -0400 Subject: [PATCH] P4 to Git Change 1602604 by gandryey@gera-ocl-lc on 2018/09/06 15:25:43 SWDEV-79445 - OCL generic changes and code clean-up - Combine opencl compiler options under a single function. Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#229 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#317 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#102 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palcompiler.cpp#25 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#68 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#23 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#55 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#19 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#44 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#84 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#34 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.hpp#17 edit --- rocclr/runtime/device/device.cpp | 87 ++++++++++++++++++++ rocclr/runtime/device/device.hpp | 12 ++- rocclr/runtime/device/gpu/gpusettings.hpp | 6 +- rocclr/runtime/device/pal/palcompiler.cpp | 4 +- rocclr/runtime/device/pal/palprogram.cpp | 94 +--------------------- rocclr/runtime/device/pal/palprogram.hpp | 4 - rocclr/runtime/device/pal/palsettings.cpp | 2 +- rocclr/runtime/device/pal/palsettings.hpp | 6 +- rocclr/runtime/device/rocm/roccompiler.cpp | 13 +-- rocclr/runtime/device/rocm/rocprogram.cpp | 94 +--------------------- rocclr/runtime/device/rocm/rocprogram.hpp | 4 - rocclr/runtime/device/rocm/rocsettings.hpp | 4 +- 12 files changed, 109 insertions(+), 221 deletions(-) diff --git a/rocclr/runtime/device/device.cpp b/rocclr/runtime/device/device.cpp index 13f33c29d6..2f5600639b 100644 --- a/rocclr/runtime/device/device.cpp +++ b/rocclr/runtime/device/device.cpp @@ -5,6 +5,7 @@ #include "device/device.hpp" #include "thread/atomic.hpp" #include "thread/monitor.hpp" +#include "utils/options.hpp" #if defined(WITH_HSA_DEVICE) #include "device/rocm/rocdevice.hpp" @@ -953,6 +954,92 @@ cl_int Program::build(const std::string& sourceCode, const char* origOptions, return buildError(); } +std::string Program::ProcessOptions(amd::option::Options* options) { + std::string optionsStr; + +#ifndef WITH_LIGHTNING_COMPILER + optionsStr.append(" -D__AMD__=1"); + + optionsStr.append(" -D__").append(device().info().name_).append("__=1"); + optionsStr.append(" -D__").append(device().info().name_).append("=1"); +#endif + +#ifdef WITH_LIGHTNING_COMPILER + int major, minor; + ::sscanf(device().info().version_, "OpenCL %d.%d ", &major, &minor); + + std::stringstream ss; + ss << " -D__OPENCL_VERSION__=" << (major * 100 + minor * 10); + optionsStr.append(ss.str()); +#endif + + if (device().info().imageSupport_ && options->oVariables->ImageSupport) { + optionsStr.append(" -D__IMAGE_SUPPORT__=1"); + } + +#ifndef WITH_LIGHTNING_COMPILER + // Set options for the standard device specific options + // All our devices support these options now + if (device().settings().reportFMAF_) { + optionsStr.append(" -DFP_FAST_FMAF=1"); + } + if (device().settings().reportFMA_) { + optionsStr.append(" -DFP_FAST_FMA=1"); + } +#endif + + uint clcStd = + (options->oVariables->CLStd[2] - '0') * 100 + (options->oVariables->CLStd[4] - '0') * 10; + + if (clcStd >= 200) { + std::stringstream opts; + // Add only for CL2.0 and later + opts << " -D" + << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE=" << device().info().maxGlobalVariableSize_; + optionsStr.append(opts.str()); + } + +#if !defined(WITH_LIGHTNING_COMPILER) + if (!device().settings().singleFpDenorm_) { + optionsStr.append(" -cl-denorms-are-zero"); + } + + // Check if the host is 64 bit or 32 bit + LP64_ONLY(optionsStr.append(" -m64")); +#endif // !defined(WITH_LIGHTNING_COMPILER) + + // Tokenize the extensions string into a vector of strings + std::istringstream istrstr(device().info().extensions_); + std::istream_iterator sit(istrstr), end; + std::vector extensions(sit, end); + + if (IS_LIGHTNING && !options->oVariables->Legacy) { + // FIXME_lmoriche: opencl-c.h defines 'cl_khr_depth_images', so + // remove it from the command line. Should we fix opencl-c.h? + auto found = std::find(extensions.begin(), extensions.end(), "cl_khr_depth_images"); + if (found != extensions.end()) { + extensions.erase(found); + } + + if (!extensions.empty()) { + std::ostringstream clext; + + clext << " -Xclang -cl-ext=+"; + std::copy(extensions.begin(), extensions.end() - 1, + std::ostream_iterator(clext, ",+")); + clext << extensions.back(); + + optionsStr.append(clext.str()); + } + } else { + for (auto e : extensions) { + optionsStr.append(" -D").append(e).append("=1"); + } + } + + return optionsStr; +} + bool Program::getCompileOptionsAtLinking(const std::vector& inputPrograms, const amd::option::Options* linkOptions) { amd::option::Options compileOptions; diff --git a/rocclr/runtime/device/device.hpp b/rocclr/runtime/device/device.hpp index be0ccf00f4..ba13d8e3f6 100644 --- a/rocclr/runtime/device/device.hpp +++ b/rocclr/runtime/device/device.hpp @@ -504,6 +504,7 @@ class Settings : public amd::HeapObject { uint64_t extensions_; //!< Supported OCL extensions union { struct { + uint apuSystem_ : 1; //!< Device is APU system with shared memory uint partialDispatch_ : 1; //!< Enables partial dispatch uint supportRA_ : 1; //!< Support RA channel order format uint waitCommand_ : 1; //!< Enables a wait for every submitted command @@ -511,7 +512,10 @@ class Settings : public amd::HeapObject { // that replaces generic OS allocation routines uint supportDepthsRGB_ : 1; //!< Support DEPTH and sRGB channel order format uint enableHwDebug_ : 1; //!< Enable HW debug support - uint reserved_ : 26; + uint reportFMAF_ : 1; //!< Report FP_FAST_FMAF define in CL program + uint reportFMA_ : 1; //!< Report FP_FAST_FMA define in CL program + uint singleFpDenorm_ : 1; //!< Support Single FP Denorm + uint reserved_ : 22; }; uint value_; }; @@ -916,9 +920,11 @@ class Program : public amd::HeapObject { virtual bool isElf(const char* bin) const = 0; + //! Returns all the options to be appended while passing to the compiler library + std::string ProcessOptions(amd::option::Options* options); + //! At linking time, get the set of compile options to be used from - //! the set of input program, warn if they have inconsisten compile - //! options. + //! the set of input program, warn if they have inconsisten compile options. bool getCompileOptionsAtLinking(const std::vector& inputPrograms, const amd::option::Options* linkOptions); diff --git a/rocclr/runtime/device/gpu/gpusettings.hpp b/rocclr/runtime/device/gpu/gpusettings.hpp index 7c08a5aa5e..eaa9a7091d 100644 --- a/rocclr/runtime/device/gpu/gpusettings.hpp +++ b/rocclr/runtime/device/gpu/gpusettings.hpp @@ -45,8 +45,6 @@ class Settings : public device::Settings { uint disablePersistent_ : 1; //!< Disables using persistent memory for staging uint imageSupport_ : 1; //!< Report images support uint doublePrecision_ : 1; //!< Enables double precision support - uint reportFMAF_ : 1; //!< Report FP_FAST_FMAF define in CL program - uint reportFMA_ : 1; //!< Report FP_FAST_FMA define in CL program uint use64BitPtr_ : 1; //!< Use 64bit pointers on GPU uint force32BitOcl20_ : 1; //!< Force 32bit apps to take CLANG/HSAIL path on GPU uint imageDMA_ : 1; //!< Enable direct image DMA transfers @@ -62,11 +60,9 @@ class Settings : public device::Settings { uint stagingWritePersistent_ : 1; //!< Enables persistent writes uint svmAtomics_ : 1; //!< SVM device atomics uint svmFineGrainSystem_ : 1; //!< SVM fine grain system support - uint apuSystem_ : 1; //!< Device is APU system with shared memory uint asyncMemCopy_ : 1; //!< Use async memory transfers uint useDeviceQueue_ : 1; //!< Submit to separate device queue - uint singleFpDenorm_ : 1; //!< Support Single FP Denorm - uint reserved_ : 5; + uint reserved_ : 9; }; uint value_; }; diff --git a/rocclr/runtime/device/pal/palcompiler.cpp b/rocclr/runtime/device/pal/palcompiler.cpp index 7343e03bd3..4077ce22cc 100644 --- a/rocclr/runtime/device/pal/palcompiler.cpp +++ b/rocclr/runtime/device/pal/palcompiler.cpp @@ -120,7 +120,7 @@ bool HSAILProgram::compileImpl(const std::string& sourceCode, #endif // Compile source to IR - compileOptions_.append(hsailOptions(options)); + compileOptions_.append(ProcessOptions(options)); errorCode = aclCompile(dev().compiler(), binaryElf_, compileOptions_.c_str(), ACL_TYPE_OPENCL, ACL_TYPE_LLVMIR_BINARY, nullptr); buildLog_ += aclGetCompilerLog(dev().compiler()); @@ -258,7 +258,7 @@ bool LightningProgram::compileImpl(const std::string& sourceCode, } driverOptions.append(options->llvmOptions); - driverOptions.append(hsailOptions(options)); + driverOptions.append(ProcessOptions(options)); // Set whole program mode driverOptions.append(" -mllvm -amdgpu-early-inline-all -mllvm -amdgpu-prelink"); diff --git a/rocclr/runtime/device/pal/palprogram.cpp b/rocclr/runtime/device/pal/palprogram.cpp index 998285277c..b71f6de041 100644 --- a/rocclr/runtime/device/pal/palprogram.cpp +++ b/rocclr/runtime/device/pal/palprogram.cpp @@ -572,7 +572,7 @@ bool HSAILProgram::linkImpl(amd::option::Options* options) { // Compilation from ACL_TYPE_HSAIL_TEXT to ACL_TYPE_CG in cases: // 1. if the program is created with binary and contains only hsail text case ACL_TYPE_HSAIL_TEXT: { - std::string curOptions = options->origOptionStr + hsailOptions(options); + std::string curOptions = options->origOptionStr + ProcessOptions(options); errorCode = aclCompile(dev().compiler(), binaryElf_, curOptions.c_str(), continueCompileFrom, ACL_TYPE_CG, nullptr); buildLog_ += aclGetCompilerLog(dev().compiler()); @@ -594,7 +594,7 @@ bool HSAILProgram::linkImpl(amd::option::Options* options) { return false; } if (finalize) { - std::string fin_options(options->origOptionStr + hsailOptions(options)); + std::string fin_options(options->origOptionStr + ProcessOptions(options)); // Append an option so that we can selectively enable a SCOption on CZ // whenever IOMMUv2 is enabled. if (dev().settings().svmFineGrainSystem_) { @@ -669,7 +669,7 @@ bool HSAILProgram::linkImpl(amd::option::Options* options) { std::string openclKernelName = device::Kernel::openclMangledName(kernelName); HSAILKernel* aKernel = - new HSAILKernel(kernelName, this, options->origOptionStr + hsailOptions(options)); + new HSAILKernel(kernelName, this, options->origOptionStr + ProcessOptions(options)); kernels()[kernelName] = aKernel; amd::hsa::loader::Symbol* sym = executable_->GetSymbol(openclKernelName.c_str(), &agent); @@ -704,92 +704,6 @@ bool HSAILProgram::linkImpl(amd::option::Options* options) { bool HSAILProgram::createBinary(amd::option::Options* options) { return true; } -std::string HSAILProgram::hsailOptions(amd::option::Options* options) { - std::string hsailOptions; - -#ifndef WITH_LIGHTNING_COMPILER - hsailOptions.append(" -D__AMD__=1"); - - hsailOptions.append(" -D__").append(device().info().name_).append("__=1"); - hsailOptions.append(" -D__").append(device().info().name_).append("=1"); -#endif - - int major, minor; - ::sscanf(device().info().version_, "OpenCL %d.%d ", &major, &minor); - -#ifdef WITH_LIGHTNING_COMPILER - std::stringstream ss; - ss << " -D__OPENCL_VERSION__=" << (major * 100 + minor * 10); - hsailOptions.append(ss.str()); -#endif - - if (device().info().imageSupport_ && options->oVariables->ImageSupport) { - hsailOptions.append(" -D__IMAGE_SUPPORT__=1"); - } - -#ifndef WITH_LIGHTNING_COMPILER - // Set options for the standard device specific options - // All our devices support these options now - if (dev().settings().reportFMAF_) { - hsailOptions.append(" -DFP_FAST_FMAF=1"); - } - if (dev().settings().reportFMA_) { - hsailOptions.append(" -DFP_FAST_FMA=1"); - } -#endif - - uint clcStd = - (options->oVariables->CLStd[2] - '0') * 100 + (options->oVariables->CLStd[4] - '0') * 10; - - if (clcStd >= 200) { - std::stringstream opts; - // Add only for CL2.0 and later - opts << " -D" - << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE=" << device().info().maxGlobalVariableSize_; - hsailOptions.append(opts.str()); - } - -#if !defined(WITH_LIGHTNING_COMPILER) - if (!dev().settings().singleFpDenorm_) { - hsailOptions.append(" -cl-denorms-are-zero"); - } -#endif // !defined(WITH_LIGHTNING_COMPILER) - - // Check if the host is 64 bit or 32 bit - LP64_ONLY(hsailOptions.append(" -m64")); - - // Tokenize the extensions string into a vector of strings - std::istringstream istrstr(device().info().extensions_); - std::istream_iterator sit(istrstr), end; - std::vector extensions(sit, end); - -#if defined(WITH_LIGHTNING_COMPILER) - // FIXME_lmoriche: opencl-c.h defines 'cl_khr_depth_images', so - // remove it from the command line. Should we fix opencl-c.h? - auto found = std::find(extensions.begin(), extensions.end(), "cl_khr_depth_images"); - if (found != extensions.end()) { - extensions.erase(found); - } - - if (!extensions.empty()) { - std::ostringstream clext; - - clext << " -Xclang -cl-ext=+"; - std::copy(extensions.begin(), extensions.end() - 1, - std::ostream_iterator(clext, ",+")); - clext << extensions.back(); - - hsailOptions.append(clext.str()); - } -#else // !defined(WITH_LIGHTNING_COMPILER) - for (auto e : extensions) { - hsailOptions.append(" -D").append(e).append("=1"); - } -#endif // !defined(WITH_LIGHTNING_COMPILER) - - return hsailOptions; -} - bool HSAILProgram::allocKernelTable() { uint size = kernels().size() * sizeof(size_t); @@ -1594,7 +1508,7 @@ bool LightningProgram::setKernels(amd::option::Options* options, void* binary, s for (auto& kernelName : kernelNameList) { auto kernel = - new LightningKernel(kernelName, this, options->origOptionStr + hsailOptions(options)); + new LightningKernel(kernelName, this, options->origOptionStr + ProcessOptions(options)); kernels()[kernelName] = kernel; diff --git a/rocclr/runtime/device/pal/palprogram.hpp b/rocclr/runtime/device/pal/palprogram.hpp index 935a0de86f..068c4a552f 100644 --- a/rocclr/runtime/device/pal/palprogram.hpp +++ b/rocclr/runtime/device/pal/palprogram.hpp @@ -230,10 +230,6 @@ class HSAILProgram : public device::Program { HSAILProgram& operator=(const HSAILProgram&); protected: - //! Returns all the options to be appended while passing to the - // compiler library - std::string hsailOptions(amd::option::Options* options); - //! Allocate kernel table bool allocKernelTable(); diff --git a/rocclr/runtime/device/pal/palsettings.cpp b/rocclr/runtime/device/pal/palsettings.cpp index 65cdc0965b..34077b2864 100644 --- a/rocclr/runtime/device/pal/palsettings.cpp +++ b/rocclr/runtime/device/pal/palsettings.cpp @@ -241,7 +241,7 @@ bool Settings::create(const Pal::DeviceProperties& palProp, case Pal::AsicRevision::Hawaii: threadTraceEnable_ = AMD_THREAD_TRACE_ENABLE; reportFMAF_ = false; - if (palProp.revision == Pal::AsicRevision::Hawaii) { + if ((palProp.revision == Pal::AsicRevision::Hawaii) || aiPlus_) { reportFMAF_ = true; } // Cache line size is 64 bytes diff --git a/rocclr/runtime/device/pal/palsettings.hpp b/rocclr/runtime/device/pal/palsettings.hpp index bb9e2faf71..b51aad166a 100644 --- a/rocclr/runtime/device/pal/palsettings.hpp +++ b/rocclr/runtime/device/pal/palsettings.hpp @@ -45,8 +45,6 @@ class Settings : public device::Settings { uint disablePersistent_ : 1; //!< Disables using persistent memory for staging uint imageSupport_ : 1; //!< Report images support uint doublePrecision_ : 1; //!< Enables double precision support - uint reportFMAF_ : 1; //!< Report FP_FAST_FMAF define in CL program - uint reportFMA_ : 1; //!< Report FP_FAST_FMA define in CL program uint use64BitPtr_ : 1; //!< Use 64bit pointers on GPU uint force32BitOcl20_ : 1; //!< Force 32bit apps to take CLANG/HSAIL path on GPU uint imageDMA_ : 1; //!< Enable direct image DMA transfers @@ -60,13 +58,11 @@ class Settings : public device::Settings { uint stagingWritePersistent_ : 1; //!< Enables persistent writes uint svmAtomics_ : 1; //!< SVM device atomics uint svmFineGrainSystem_ : 1; //!< SVM fine grain system support - uint apuSystem_ : 1; //!< Device is APU system with shared memory uint useDeviceQueue_ : 1; //!< Submit to separate device queue - uint singleFpDenorm_ : 1; //!< Support Single FP Denorm uint sdamPageFaultWar_ : 1; //!< SDMA page fault workaround uint rgpSqttWaitIdle_: 1; //!< Wait for idle after SQTT trace uint rgpSqttForceDisable_: 1; //!< Disables SQTT - uint reserved_ : 6; + uint reserved_ : 10; }; uint value_; }; diff --git a/rocclr/runtime/device/rocm/roccompiler.cpp b/rocclr/runtime/device/rocm/roccompiler.cpp index 48f00451a2..8400a979a0 100644 --- a/rocclr/runtime/device/rocm/roccompiler.cpp +++ b/rocclr/runtime/device/rocm/roccompiler.cpp @@ -129,17 +129,8 @@ bool HSAILProgram::compileImpl(const std::string& sourceCode, this->compileOptions_.append(tempFolder); } - // Add only for CL2.0 and later - if (options->oVariables->CLStd[2] >= '2') { - std::stringstream opts; - opts << " -D" - << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE=" << device().info().maxGlobalVariableSize_; - compileOptions_.append(opts.str()); - } - // Compile source to IR - this->compileOptions_.append(preprocessorOptions(options)); - this->compileOptions_.append(codegenOptions(options)); + this->compileOptions_.append(ProcessOptions(options)); errorCode = aclCompile(device().compiler(), binaryElf_, //"-Wf,--support_all_extensions", @@ -225,7 +216,7 @@ bool LightningProgram::compileImpl(const std::string& sourceCode, // Set whole program mode driverOptions.append(" -mllvm -amdgpu-early-inline-all -mllvm -amdgpu-prelink"); - driverOptions.append(preprocessorOptions(options)); + driverOptions.append(ProcessOptions(options)); // Find the temp folder for the OS std::string tempFolder = amd::Os::getEnvironment("TEMP"); diff --git a/rocclr/runtime/device/rocm/rocprogram.cpp b/rocclr/runtime/device/rocm/rocprogram.cpp index 7ede4a31e8..17f2240594 100644 --- a/rocclr/runtime/device/rocm/rocprogram.cpp +++ b/rocclr/runtime/device/rocm/rocprogram.cpp @@ -274,98 +274,6 @@ aclType Program::getNextCompilationStageFromBinary(amd::option::Options* options return continueCompileFrom; } -#if defined(WITH_COMPILER_LIB) -std::string HSAILProgram::codegenOptions(amd::option::Options* options) { - std::string optionsStr; - - if (dev().deviceInfo().gfxipVersion_ < 900 || !dev().settings().singleFpDenorm_) { - optionsStr.append(" -cl-denorms-are-zero"); - } - - // check if the host is 64 bit or 32 bit - LP64_ONLY(optionsStr.append(" -m64")); - - return optionsStr; -} -#endif // defined(WITH_COMPILER_LIB) - -std::string Program::preprocessorOptions(amd::option::Options* options) { - std::string optionsStr; - - // Set options for the standard device specific options - -#ifndef WITH_LIGHTNING_COMPILER - optionsStr.append(" -D__AMD__=1"); - - optionsStr.append(" -D__").append(device().info().name_).append("__=1"); - optionsStr.append(" -D__").append(device().info().name_).append("=1"); -#endif - - int major, minor; - ::sscanf(device().info().version_, "OpenCL %d.%d ", &major, &minor); - - std::stringstream ss; - ss << " -D__OPENCL_VERSION__=" << (major * 100 + minor * 10); - optionsStr.append(ss.str()); - - if (device().info().imageSupport_ && options->oVariables->ImageSupport) { - optionsStr.append(" -D__IMAGE_SUPPORT__=1"); - } - -#ifndef WITH_LIGHTNING_COMPILER - // This is just for legacy compiler code - // All our devices support these options now - if (options->oVariables->FastFMA) { - optionsStr.append(" -DFP_FAST_FMA=1"); - } - if (options->oVariables->FastFMAF) { - optionsStr.append(" -DFP_FAST_FMAF=1"); - } -#endif - - uint clcStd = - (options->oVariables->CLStd[2] - '0') * 100 + (options->oVariables->CLStd[4] - '0') * 10; - - if (clcStd >= 200) { - std::stringstream opts; - // Add only for CL2.0 and later - opts << " -D" - << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE=" << device().info().maxGlobalVariableSize_; - optionsStr.append(opts.str()); - } - - // Tokenize the extensions string into a vector of strings - std::istringstream istrstr(device().info().extensions_); - std::istream_iterator sit(istrstr), end; - std::vector extensions(sit, end); - - if (IS_LIGHTNING && !options->oVariables->Legacy) { - // FIXME_lmoriche: opencl-c.h defines 'cl_khr_depth_images', so - // remove it from the command line. Should we fix opencl-c.h? - auto found = std::find(extensions.begin(), extensions.end(), "cl_khr_depth_images"); - if (found != extensions.end()) { - extensions.erase(found); - } - - if (!extensions.empty()) { - std::ostringstream clext; - - clext << " -Xclang -cl-ext=+"; - std::copy(extensions.begin(), extensions.end() - 1, - std::ostream_iterator(clext, ",+")); - clext << extensions.back(); - - optionsStr.append(clext.str()); - } - } else { - for (auto e : extensions) { - optionsStr.append(" -D").append(e).append("=1"); - } - } - - return optionsStr; -} - #if defined(WITH_COMPILER_LIB) HSAILProgram::HSAILProgram(roc::NullDevice& device) : roc::Program(device) { } @@ -613,7 +521,7 @@ bool HSAILProgram::linkImpl(amd::option::Options* options) { // 1. if the program is created with binary and contains only hsail text case ACL_TYPE_HSAIL_TEXT: { std::string curOptions = - options->origOptionStr + preprocessorOptions(options) + codegenOptions(options); + options->origOptionStr + ProcessOptions(options); errorCode = aclCompile(device().compiler(), binaryElf_, curOptions.c_str(), continueCompileFrom, ACL_TYPE_CG, logFunction); buildLog_ += aclGetCompilerLog(device().compiler()); diff --git a/rocclr/runtime/device/rocm/rocprogram.hpp b/rocclr/runtime/device/rocm/rocprogram.hpp index e0c893b839..29f4bb7442 100644 --- a/rocclr/runtime/device/rocm/rocprogram.hpp +++ b/rocclr/runtime/device/rocm/rocprogram.hpp @@ -94,10 +94,6 @@ class Program : public device::Program { Program& operator=(const Program&) = delete; protected: - //! Returns all the options to be appended while passing to the - // compiler - std::string preprocessorOptions(amd::option::Options* options); - // aclBinary and aclCompiler - for the compiler library aclBinary* binaryElf_; //!< Binary for the new compiler library aclBinaryOptions binOpts_; //!< Binary options to create aclBinary diff --git a/rocclr/runtime/device/rocm/rocsettings.hpp b/rocclr/runtime/device/rocm/rocsettings.hpp index 4462907694..73efd98308 100644 --- a/rocclr/runtime/device/rocm/rocsettings.hpp +++ b/rocclr/runtime/device/rocm/rocsettings.hpp @@ -27,9 +27,7 @@ class Settings : public device::Settings { uint imageDMA_ : 1; //!< Enable direct image DMA transfers uint stagedXferRead_ : 1; //!< Uses a staged buffer read uint stagedXferWrite_ : 1; //!< Uses a staged buffer write - uint singleFpDenorm_ : 1; //!< Support Single FP Denorm - uint apuSystem_ : 1; //!< APU system - uint reserved_ : 22; + uint reserved_ : 24; }; uint value_; };