SWDEV-363865 - Use COMGR path to unbundle code object in HIPRTC.
Change-Id: Ifca29ea0c6ff319c3f584397e542a1658d220c4a
[ROCm/clr commit: 2f8847bfbd]
This commit is contained in:
committato da
Karthik Jayaprakash
parent
50a845c43a
commit
67cf4a5107
@@ -32,7 +32,7 @@ THE SOFTWARE.
|
||||
namespace hiprtc {
|
||||
namespace helpers {
|
||||
bool UnbundleBitCode(const std::vector<char>& bundled_bit_code, const std::string& isa,
|
||||
size_t& co_offset, size_t& co_size);
|
||||
size_t& co_offset, size_t& co_size);
|
||||
bool addCodeObjData(amd_comgr_data_set_t& input, const std::vector<char>& source,
|
||||
const std::string& name, const amd_comgr_data_kind_t type);
|
||||
bool extractBuildLog(amd_comgr_data_set_t dataSet, std::string& buildLog);
|
||||
|
||||
@@ -485,10 +485,11 @@ amd_comgr_data_kind_t RTCLinkProgram::GetCOMGRDataKind(hiprtcJITInputType input_
|
||||
data_kind = AMD_COMGR_DATA_KIND_BC;
|
||||
break;
|
||||
case HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE :
|
||||
data_kind = AMD_COMGR_DATA_KIND_BC;
|
||||
data_kind = HIPRTC_USE_RUNTIME_UNBUNDLER
|
||||
? AMD_COMGR_DATA_KIND_BC : AMD_COMGR_DATA_KIND_BC_BUNDLE;
|
||||
break;
|
||||
case HIPRTC_JIT_INPUT_LLVM_ARCHIVES_OF_BUNDLED_BITCODE :
|
||||
data_kind = AMD_COMGR_DATA_KIND_FATBIN;
|
||||
data_kind = AMD_COMGR_DATA_KIND_AR_BUNDLE;
|
||||
break;
|
||||
default :
|
||||
LogError("Cannot find the corresponding comgr data kind");
|
||||
@@ -519,7 +520,7 @@ bool RTCLinkProgram::AddLinkerFile(std::string file_path, hiprtcJITInputType inp
|
||||
bc_file.close();
|
||||
|
||||
// If this is bundled bitcode then unbundle this.
|
||||
if (input_type == HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE) {
|
||||
if (HIPRTC_USE_RUNTIME_UNBUNDLER && input_type == HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE) {
|
||||
if (!findIsa()) {
|
||||
return false;
|
||||
}
|
||||
@@ -556,7 +557,7 @@ bool RTCLinkProgram::AddLinkerData(void* image_ptr, size_t image_size, std::stri
|
||||
char* image_char_buf = reinterpret_cast<char*>(image_ptr);
|
||||
std::vector<char> llvm_bitcode;
|
||||
|
||||
if (input_type == HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE) {
|
||||
if (HIPRTC_USE_RUNTIME_UNBUNDLER && input_type == HIPRTC_JIT_INPUT_LLVM_BUNDLED_BITCODE) {
|
||||
std::vector<char> bundled_llvm_bitcode(image_char_buf, image_char_buf + image_size);
|
||||
|
||||
if (!findIsa()) {
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user