diff --git a/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp b/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp index 95139446ef..3c206d6bea 100644 --- a/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp +++ b/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp @@ -2814,6 +2814,17 @@ if_aclQueryInfo(aclCompiler *cl, } break; } + case RT_WAVES_PER_SIMD_HINT: { + size_t waves_per_simd_hint_size = sizeof(md->wavesPerSimdHint); + if (!ptr) { + *size = waves_per_simd_hint_size; + success = true; + } else if (*size >= waves_per_simd_hint_size) { + memcpy(ptr, &md->wavesPerSimdHint, waves_per_simd_hint_size); + success = true; + } + break; + } } return (success) ? ACL_SUCCESS : ACL_ERROR; } diff --git a/rocclr/compiler/lib/include/v0_8/aclEnums.h b/rocclr/compiler/lib/include/v0_8/aclEnums.h index 55babaf18b..25264ada80 100644 --- a/rocclr/compiler/lib/include/v0_8/aclEnums.h +++ b/rocclr/compiler/lib/include/v0_8/aclEnums.h @@ -217,7 +217,8 @@ typedef enum _rt_query_types_enum_0_8 { RT_CONTAINS_SPIR = 21, RT_NUM_KERNEL_HIDDEN_ARGS = 22, RT_CONTAINS_SPIRV = 23, - RT_LAST_TYPE = 24 + RT_WAVES_PER_SIMD_HINT = 24, + RT_LAST_TYPE = 25 } aclQueryType_0_8; //! An enumeration for the various GPU capabilities diff --git a/rocclr/compiler/lib/include/v0_8/aclStructs.h b/rocclr/compiler/lib/include/v0_8/aclStructs.h index 49bbd8e68d..0e648669b9 100644 --- a/rocclr/compiler/lib/include/v0_8/aclStructs.h +++ b/rocclr/compiler/lib/include/v0_8/aclStructs.h @@ -120,6 +120,7 @@ typedef struct _acl_metadata_0_8 { bool enqueue_kernel; // RT_DEVICE_ENQUEUE uint32_t kernel_index; // RT_KERNEL_INDEX uint32_t numHiddenKernelArgs; // RT_NUM_KERNEL_HIDDEN_ARGS + uint32_t wavesPerSimdHint; // RT_WAVES_PER_SIMD_HINT } aclMetadata_0_8; //! An structure that holds information on the capabilities of the bif device.