Add executable symbol info for the wavefront size

The wavefront size is currently only exposed as an agent level
attribute. This is not correctyl, because while the agent has a default
wave front size that is usually correct, it can easily be overridden via
options like -mwavefrontsize64 on various ISAs. The wavefrontsize
attribute is actually more of a calling convention that is consistent
within a callgraph. Because the root of each call graph is a kernel in
this architecture, we need to be able to query this on a per-kernel
basis. This information is already avialable in the kernel descriptor
packet, but it wasn't exported.

This patch adds HSA_CODE_SYMBOL_INFO_KERNEL_WAVEFRONT_SIZE as a new
option to query on the executable symbol.

Change-Id: I744815c89cc9d4c82f25479bdd48ae1f32e859ff
このコミットが含まれているのは:
Joseph Huber
2024-02-09 15:47:05 +00:00
committed by David Yat Sin
コミット 9e26cbac14
3個のファイルの変更18行の追加2行の削除
+4 -1
ファイルの表示
@@ -144,6 +144,7 @@ public:
const bool &_is_dynamic_callstack,
const uint32_t &_size,
const uint32_t &_alignment,
const uint32_t &_wavefront_size,
const uint64_t &_address = 0)
: SymbolImpl(_is_loaded,
HSA_SYMBOL_KIND_KERNEL,
@@ -159,7 +160,8 @@ public:
, private_segment_size(_private_segment_size)
, is_dynamic_callstack(_is_dynamic_callstack)
, size(_size)
, alignment(_alignment) {}
, alignment(_alignment)
, wavefront_size(_wavefront_size) {}
~KernelSymbol() {}
@@ -173,6 +175,7 @@ public:
bool is_dynamic_callstack;
uint32_t size;
uint32_t alignment;
uint32_t wavefront_size;
amd_runtime_loader_debug_info_t debug_info;
private: