Revert "SWDEV-433371 - use comgr to unbundle code objects"

This reverts commit c0ee0ffa1c.

Reason for revert: <INSERT REASONING HERE>
New comgr unbundling action leads to perf drop for uncompressed code object.   Will create a new patch to use old path for uncompressed , new unbundling api for compressed . 

Change-Id: I41ef53b71fc9f7aaa8cf231d4d70945f1117db52


[ROCm/clr commit: a1350fe8c1]
このコミットが含まれているのは:
Tao Sang
2024-05-13 12:21:06 -04:00
committed by Maneesh Gupta
コミット 5bf67d7da7
11個のファイルの変更、427行の追加、474行の削除
+20 -11
ファイルの表示
@@ -48,22 +48,31 @@ class CodeObject {
size_t binary_size);
static hipError_t build_module(hipModule_t hmod, const std::vector<amd::Device*>& devices);
// Given an file desc and file size, extracts to code object for corresponding devices,
// return code_objs{binary_ptr, binary_size}, which could be used to determine foffset
static hipError_t ExtractCodeObjectFromFile(amd::Os::FileDesc fdesc, size_t fsize,
const void ** image, const std::vector<std::string>& device_names,
std::vector<std::pair<const void*, size_t>>& code_objs);
// Given an ptr to memory, extracts to code object for corresponding devices,
// returns code_objs{binary_ptr, binary_size} and uniform resource indicator
static hipError_t ExtractCodeObjectFromMemory(const void* data,
const std::vector<std::string>& device_names,
std::vector<std::pair<const void*, size_t>>& code_objs,
std::string& uri);
static uint64_t ElfSize(const void* emi);
static bool IsClangOffloadMagicBundle(const void* data, bool& isCompressed);
// Given an ptr to image or file, extracts to code object
// for corresponding devices
static hipError_t extractCodeObjectFromFatBinary(
const void*, size_t, const std::vector<std::string>&,
std::vector<std::pair<const void*, size_t>>&);
// Return size of fat bin
static size_t getFatbinSize(const void* data, const bool isCompressed = false);
static bool IsClangOffloadMagicBundle(const void* data);
protected:
CodeObject() {}
//Given an ptr to image or file, extracts to code object
//for corresponding devices
static hipError_t extractCodeObjectFromFatBinary(const void*,
const std::vector<std::string>&,
std::vector<std::pair<const void*, size_t>>&);
CodeObject() {}
private:
friend const std::vector<hipModule_t>& modules();
};