From c1fa37c2d22d72c4eb433fdbb9b83d16f996f847 Mon Sep 17 00:00:00 2001 From: Tony Date: Fri, 12 Jun 2020 05:10:35 -0400 Subject: [PATCH] Do not add offset/size to code object URI if loading from complete file Change-Id: I7cb1e803e0bcdbc24935273af431fbcc88404bfd [ROCm/ROCR-Runtime commit: 047b80ab414ac59beca6a3970cf211aa75e550d3] --- .../runtime/hsa-runtime/core/inc/amd_hsa_loader.hpp | 7 +++++-- .../runtime/hsa-runtime/core/runtime/amd_hsa_loader.cpp | 2 +- .../rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_loader.hpp b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_loader.hpp index 0073053581..dcf1fedb95 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_loader.hpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_loader.hpp @@ -133,11 +133,13 @@ struct CodeObjectReaderWrapper final { /// @brief Default constructor. CodeObjectReaderWrapper( const void *_code_object_memory, size_t _code_object_size, - size_t _code_object_offset, hsa_file_t _code_object_file_descriptor) + size_t _code_object_offset, hsa_file_t _code_object_file_descriptor, + bool _is_complete_file = false) : code_object_memory(_code_object_memory) , code_object_size(_code_object_size) , code_object_offset(_code_object_offset) - , code_object_file_descriptor(_code_object_file_descriptor) {} + , code_object_file_descriptor(_code_object_file_descriptor) + , is_complete_file(_is_complete_file) {} /// @brief Default destructor. ~CodeObjectReaderWrapper() {} @@ -158,6 +160,7 @@ struct CodeObjectReaderWrapper final { size_t code_object_size; size_t code_object_offset; hsa_file_t code_object_file_descriptor; + bool is_complete_file; }; //===----------------------------------------------------------------------===// diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_hsa_loader.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_hsa_loader.cpp index 263a4deaa3..2ed2be4538 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_hsa_loader.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_hsa_loader.cpp @@ -95,7 +95,7 @@ std::string CodeObjectReaderWrapper::GetUriFromFile( std::ostringstream UriStream; UriStream << EncodePathname(FdPath); - if (Size) { + if (!is_complete_file) { UriStream << "#offset=" << Offset; UriStream << "&size=" << Size; } diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp index 80a3eb7113..7cf6e7f908 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp @@ -2085,7 +2085,7 @@ hsa_status_t hsa_code_object_reader_create_from_file( } CodeObjectReaderWrapper *wrapper = new (std::nothrow) CodeObjectReaderWrapper( - code_object_memory, file_size, 0, file); + code_object_memory, file_size, 0, file, true); if (!wrapper) { delete [] code_object_memory; return HSA_STATUS_ERROR_OUT_OF_RESOURCES;