From 4071cf1a1651ff7bff859832baceeb05fc4c0cb3 Mon Sep 17 00:00:00 2001 From: kjayapra-amd Date: Mon, 21 Sep 2020 09:30:06 -0400 Subject: [PATCH] SWDEV-241896 - Remove extern support in ROCclr/HIP since compiler added Texture Reference support. Change-Id: I2cf27e13a53860fe11e9245c9cbdcb8bd88a7872 --- rocclr/device/devprogram.cpp | 78 -------------------------------- rocclr/device/devprogram.hpp | 4 -- rocclr/device/pal/palprogram.cpp | 8 ---- 3 files changed, 90 deletions(-) diff --git a/rocclr/device/devprogram.cpp b/rocclr/device/devprogram.cpp index 9376adcf2f..8b018a646b 100755 --- a/rocclr/device/devprogram.cpp +++ b/rocclr/device/devprogram.cpp @@ -98,11 +98,6 @@ Program::Program(amd::Device& device, amd::Program& owner) Program::~Program() { clear(); - /* Delete the undefined memory object */ - for (auto it = undef_mem_obj_.begin(); it != undef_mem_obj_.end(); ++it) { - (*it)->release(); - } - if (isLC()) { #if defined(USE_COMGR_LIBRARY) for (auto const& kernelMeta : kernelMetadataMap_) { @@ -2606,77 +2601,4 @@ bool Program::getGlobalVarFromCodeObj(std::vector* var_names) const return true; #endif } - -bool Program::getUndefinedVarFromCodeObj(std::vector* var_names) const { -#if defined(USE_COMGR_LIBRARY) - return getSymbolsFromCodeObj(var_names, AMD_COMGR_SYMBOL_TYPE_NOTYPE); -#else - return true; -#endif -} - -bool Program::getUndefinedVarInfo(std::string var_name, void** var_addr, size_t* var_size) { - if (owner()->varcallback != nullptr) { - return owner()->varcallback(as_cl(owner()), var_name.c_str(), var_addr, var_size); - } else { - buildLog_ += "SVAR HIP Call back is not set \n"; - return false; - } -} - -bool Program::defineUndefinedVars() { - size_t address = 0; - size_t hsize = 0; - void* dptr = nullptr; - void* hptr = nullptr; - device::Memory* dev_mem = nullptr; - amd::Memory* amd_mem_obj = nullptr; - std::vector var_names; - - if (!getUndefinedVarFromCodeObj(&var_names)) { - DevLogError("Cannot get Undefined Var from Code Object \n"); - return false; - } - - for (auto it = var_names.begin(); it != var_names.end(); ++it) { - if (!getUndefinedVarInfo(*it, &hptr, &hsize)) { - continue; - } - - amd_mem_obj = new (owner()->context()) amd::Buffer(const_cast(owner()->context()), - CL_MEM_USE_HOST_PTR, hsize); - if (amd_mem_obj == nullptr) { - LogError("[OCL] failed to create a mem object!"); - return false; - } - - if (!amd_mem_obj->create(hptr)) { - LogError("[OCL] failed to create a svm hidden buffer!"); - amd_mem_obj->release(); - return false; - } - - undef_mem_obj_.push_back(amd_mem_obj); - - dev_mem = amd_mem_obj->getDeviceMemory(device()); - if (dev_mem == nullptr) { - LogError("[OCL] failed to create a mem object!"); - return false; - } - - dptr = reinterpret_cast(dev_mem->virtualAddress()); - if (dev_mem == nullptr) { - LogError("[OCL] failed to create a mem object!"); - return false; - } - - if(!defineGlobalVar(it->c_str(), dptr)) { - LogError("[OCL] failed to define global var"); - return false; - } - } - - return true; -} - } /* namespace device*/ diff --git a/rocclr/device/devprogram.hpp b/rocclr/device/devprogram.hpp index 46bdab3c8f..c7569772c6 100755 --- a/rocclr/device/devprogram.hpp +++ b/rocclr/device/devprogram.hpp @@ -129,8 +129,6 @@ class Program : public amd::HeapObject { std::map kernelMetadataMap_; //!< Map of kernel metadata #endif - std::vector undef_mem_obj_; - public: //! Construct a section. Program(amd::Device& device, amd::Program& owner); @@ -219,8 +217,6 @@ class Program : public amd::HeapObject { //! Global variables are a part of the code segment bool hasGlobalStores() const { return hasGlobalStores_; } - std::vector getUndefMemObj() const { return undef_mem_obj_; } - #if defined(USE_COMGR_LIBRARY) amd_comgr_metadata_node_t metadata() const { return metadata_; } diff --git a/rocclr/device/pal/palprogram.cpp b/rocclr/device/pal/palprogram.cpp index 536eba3e80..0f50c00cea 100755 --- a/rocclr/device/pal/palprogram.cpp +++ b/rocclr/device/pal/palprogram.cpp @@ -253,10 +253,6 @@ bool HSAILProgram::setKernels(amd::option::Options* options, void* binary, size_ hsa_code_object_t code_object; code_object.handle = reinterpret_cast(binary); - if (amd::IS_HIP) { - defineUndefinedVars(); - } - hsa_status_t status = executable_->LoadCodeObject(agent, code_object, nullptr); if (status != HSA_STATUS_SUCCESS) { buildLog_ += "Error: AMD HSA Code Object loading failed.\n"; @@ -751,10 +747,6 @@ bool LightningProgram::setKernels(amd::option::Options* options, void* binary, s hsa_code_object_t code_object; code_object.handle = reinterpret_cast(binary); - if (amd::IS_HIP) { - defineUndefinedVars(); - } - hsa_status_t status = executable_->LoadCodeObject(agent, code_object, nullptr); if (status != HSA_STATUS_SUCCESS) { buildLog_ += "Error: AMD HSA Code Object loading failed.\n";