31inline void* address(hsa_executable_symbol_t x) {
33 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ADDRESS, &r);
38inline hsa_agent_t agent(hsa_executable_symbol_t x) {
40 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_AGENT, &r);
45inline std::uint32_t group_size(hsa_executable_symbol_t x) {
47 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE, &r);
52inline hsa_isa_t isa(hsa_agent_t x) {
54 hsa_agent_iterate_isas(x,
55 [](hsa_isa_t i,
void* o) {
56 *
static_cast<hsa_isa_t*
>(o) = i;
58 return HSA_STATUS_INFO_BREAK;
65inline std::uint64_t kernel_object(hsa_executable_symbol_t x) {
67 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT, &r);
72inline std::string name(hsa_executable_symbol_t x) {
73 std::uint32_t sz = 0u;
74 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH, &sz);
76 std::string r(sz,
'\0');
77 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_NAME, &r.front());
82inline std::uint32_t private_size(hsa_executable_symbol_t x) {
84 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE, &r);
89inline std::uint32_t size(hsa_executable_symbol_t x) {
91 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SIZE, &r);
96inline hsa_symbol_kind_t type(hsa_executable_symbol_t x) {
97 hsa_symbol_kind_t r = {};
98 hsa_executable_symbol_get_info(x, HSA_EXECUTABLE_SYMBOL_INFO_TYPE, &r);