Add code object v5 support
Change-Id: I03522765056e99ed49e6c5e213ee3753852de27b
[ROCm/ROCR-Runtime commit: 9265409f08]
Cette révision appartient à :
révisé par
Konstantin Zhuravlyov
Parent
6622fe0163
révision
625b1c99b3
@@ -74,7 +74,8 @@ enum {
|
||||
// was never defined for V1.
|
||||
ELFABIVERSION_AMDGPU_HSA_V2 = 0,
|
||||
ELFABIVERSION_AMDGPU_HSA_V3 = 1,
|
||||
ELFABIVERSION_AMDGPU_HSA_V4 = 2
|
||||
ELFABIVERSION_AMDGPU_HSA_V4 = 2,
|
||||
ELFABIVERSION_AMDGPU_HSA_V5 = 3
|
||||
};
|
||||
|
||||
// AMDGPU specific e_flags.
|
||||
@@ -150,7 +151,8 @@ enum : unsigned {
|
||||
|
||||
// XNACK selection mask for EF_AMDGPU_FEATURE_XNACK_* values.
|
||||
//
|
||||
// Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4.
|
||||
// Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4,
|
||||
// ELFABIVERSION_AMDGPU_HSA_V5.
|
||||
EF_AMDGPU_FEATURE_XNACK_V4 = 0x300,
|
||||
// XNACK is not supported.
|
||||
EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4 = 0x000,
|
||||
@@ -163,7 +165,8 @@ enum : unsigned {
|
||||
|
||||
// SRAMECC selection mask for EF_AMDGPU_FEATURE_SRAMECC_* values.
|
||||
//
|
||||
// Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4.
|
||||
// Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4,
|
||||
// ELFABIVERSION_AMDGPU_HSA_V5.
|
||||
EF_AMDGPU_FEATURE_SRAMECC_V4 = 0xc00,
|
||||
// SRAMECC is not supported.
|
||||
EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4 = 0x000,
|
||||
|
||||
@@ -479,6 +479,10 @@ namespace code {
|
||||
*major = 4;
|
||||
*minor = 0;
|
||||
return true;
|
||||
case ELF::ELFABIVERSION_AMDGPU_HSA_V5:
|
||||
*major = 5;
|
||||
*minor = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -724,7 +728,7 @@ namespace code {
|
||||
target_name += ":xnack+";
|
||||
else if (xnack_supported)
|
||||
target_name += ":xnack-";
|
||||
} else if (code_object_major_version == 4) {
|
||||
} else if (code_object_major_version == 4 || code_object_major_version == 5) {
|
||||
switch (img->EFlags() & ELF::EF_AMDGPU_FEATURE_SRAMECC_V4) {
|
||||
case ELF::EF_AMDGPU_FEATURE_SRAMECC_OFF_V4:
|
||||
target_name += ":sramecc-";
|
||||
|
||||
@@ -1221,7 +1221,7 @@ hsa_status_t ExecutableImpl::LoadCodeObject(
|
||||
return HSA_STATUS_ERROR_INVALID_CODE_OBJECT;
|
||||
}
|
||||
|
||||
if (majorVersion < 1 || majorVersion > 4) {
|
||||
if (majorVersion < 1 || majorVersion > 5) {
|
||||
logger_ << "LoaderError: unsupported code object version: " << majorVersion << "\n";
|
||||
return HSA_STATUS_ERROR_INVALID_CODE_OBJECT;
|
||||
}
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur