Add env variable to print image SRD contents
Add environment variable HSA_IMAGE_PRINT_SRD to print contents of SRD registers for image functions Change-Id: Ifb47a73dcfad8745ee7445e20de96e1021b80bd6
Este commit está contenido en:
cometido por
Shweta Khatri
padre
f7e3782b42
commit
a4f898ad15
@@ -160,6 +160,9 @@ class Flag {
|
||||
var = os::GetEnvVar("HSA_SVM_PROFILE");
|
||||
svm_profile_ = var;
|
||||
|
||||
var = os::GetEnvVar("HSA_IMAGE_PRINT_SRD");
|
||||
image_print_srd_ = (var == "1") ? true : false;
|
||||
|
||||
// Temporary environment variable to disable CPU affinity override
|
||||
// Will either rename to HSA_OVERRIDE_CPU_AFFINITY later or remove completely.
|
||||
var = os::GetEnvVar("HSA_OVERRIDE_CPU_AFFINITY_DEBUG");
|
||||
@@ -219,6 +222,8 @@ class Flag {
|
||||
|
||||
bool override_cpu_affinity() const { return override_cpu_affinity_; }
|
||||
|
||||
bool image_print_srd() const { return image_print_srd_; }
|
||||
|
||||
XNACK_REQUEST xnack() const { return xnack_; }
|
||||
|
||||
bool debug() const { return debug_; }
|
||||
@@ -260,6 +265,7 @@ class Flag {
|
||||
bool coop_cu_count_;
|
||||
bool discover_copy_agents_;
|
||||
bool override_cpu_affinity_;
|
||||
bool image_print_srd_;
|
||||
|
||||
SDMA_OVERRIDE enable_sdma_;
|
||||
|
||||
|
||||
Archivo ejecutable → Archivo normal
+5
@@ -47,6 +47,7 @@
|
||||
#include <climits>
|
||||
#include <mutex>
|
||||
|
||||
#include "core/inc/runtime.h"
|
||||
#include "core/inc/hsa_internal.h"
|
||||
#include "core/inc/hsa_ext_amd_impl.h"
|
||||
#include "resource.h"
|
||||
@@ -397,6 +398,8 @@ hsa_status_t ImageRuntime::CreateImageHandle(
|
||||
|
||||
image_manager(component)->PopulateImageSrd(*image);
|
||||
|
||||
if (core::Runtime::runtime_singleton_->flag().image_print_srd()) image->printSRD();
|
||||
|
||||
image_handle.handle = image->Convert();
|
||||
|
||||
return HSA_STATUS_SUCCESS;
|
||||
@@ -434,6 +437,8 @@ hsa_status_t ImageRuntime::CreateImageHandleWithLayout(
|
||||
return err;
|
||||
}
|
||||
|
||||
if (core::Runtime::runtime_singleton_->flag().image_print_srd()) image->printSRD();
|
||||
|
||||
image_handle.handle = image->Convert();
|
||||
return HSA_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -134,6 +134,15 @@ public:
|
||||
__ALIGNED__(
|
||||
HSA_IMAGE_OBJECT_ALIGNMENT) uint32_t srd[HSA_IMAGE_OBJECT_SIZE_DWORD];
|
||||
|
||||
void const printSRD() const {
|
||||
char hexStr[200];
|
||||
size_t hexStrLen = 0;
|
||||
for (int i = 0; i < sizeof(srd) / sizeof(srd[0]); i++)
|
||||
hexStrLen += sprintf(&hexStr[hexStrLen], "0x%08x ", srd[i]);
|
||||
|
||||
printf("\nSRD:%s\n\n", hexStr);
|
||||
}
|
||||
|
||||
// HSA component of the image object.
|
||||
hsa_agent_t component;
|
||||
|
||||
|
||||
Referencia en una nueva incidencia
Block a user